次のワークフローを実装する必要があります。
- ユーザーが URL に入力する
- ユーザーが「検証」ボタンをクリックする
- URL は ajax を介して検証されます (空ではなく、存在しません)。
- URL が有効な場合、特定のサイトからいくつかの情報が自動的に解析され、同じページのいくつかのフォーム フィールドに入力されます。
- これらのフォーム フィールドも、ajax を介して検証する必要があります (一部のフィールドは必須です)。
- すべての必須フィールドが入力されている場合、ユーザーは保存ボタンを押すことができます。それ以外の場合は、残りのすべての必須フィールドに入力するよう求められます。
これを達成するための最良の方法は何ですか?URL フィールドとフォーム フィールドは 1 つのフォームに 2 つの異なるモデルがあるため、両方を保存する必要があります。
ほとんどのワークフローは既に実装していますが、これが正しい方法かどうかはわかりません。フォームの ajax 検証を有効にしました。URL フィールドは正しく検証されますが、他のフィールドは検証をトリガーしません。これらのフィールドがブートストラップのアクティブなフォームにパックされている可能性がありますか?
「検証」ボタンをクリックした後、独自の ajax リクエストをトリガーし、URL を手動で検証します。有効な場合はページを解析し、見つかったすべての情報を返します。そうでない場合はエラーを返します。エラーを表示するか、他のフォーム フィールドに入力するよりも成功した方法。自分の ajax リクエストを送信する前に、プログラムで yii ajax 検証をトリガーする方法はありますか?
今、私は他のフォーム フィールドの ajax 検証に行き詰まっています。送信、検証、および成功時の保存はうまく機能します。しかし、提出せずに検証が必要です。独自の ajax リクエストおよびレスポンス処理を実装する必要がありますか、それとも yii 組み込み機能を使用する方法はありますか?