問題タブ [yii2-validation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
yii2 - Yii2 作成時にユーザー名を変更する
ユーザー名が既に使用されていることをアプリで検出して変更したい。実際、ユーザーが自分自身を登録するとき、彼は姓と名を入力し、ユーザー名は lastName.firstName です。ユーザー名が既に使用されていることを検出する方法と、それを変更する方法 (たとえば、番号を追加する) は?
ありがとう。
yii2 - Yii2: 同じモデルの複数のインスタンスでフォームを検証する方法
私のフォームでは、同じモデルの開始日と終了日を一度に更新します。簡略化された形式を参照してください。
終了日が開始日より後の場合、私が制御する必要があるモデルでは:
Yii2: Validation in form with two instances of same modelで説明されているように、同様にセレクターを変更しようとしましたが、成功しませんでした。検証 JS で「compareAttribute」を「mymodel-start」から「mymodel- 0 -start」に変更する必要があると思います。
だから、私は次のようなものを探します:
解決
ソリューションはlucasの回答に基づいています。
モデルでは、formName() メソッドをオーバーライドするため、すべての日付に一意のフォーム名があります (既存の日付の ID と新しい日付の乱数に基づいています)。
フォームは次のようになります。
yii2 - クエリからテーブルへの検証を行う方法は? yii2
私の問題は次のとおりです。私はselect2を持っているフォームを持っていて、ユーザーがテーブルから入力されたドロップダウンリストから選択できるので、基本的に私がしたいことは、ユーザーがドライバーを選択しようとすると検証ルールがドライバーがその日にシステムを介して既に登録されているかどうかを確認します。
私はそれを行う方法について1つのアイデアを持っています.私はアーカイブテーブルに入る人々を登録する私のアーカイブフォームを持っています.それはドライバーテーブルに存在するかどうかをチェックします.存在しない場合は登録する必要があります.フォームに入力するために、このアーカイブ テーブルの各フィールドには、フィールドが入力された日付である datecreated 列があるため、基本的には彼が最後に入力した日付です。
この列を呼び出すルールを現在の日付と比較して、彼がすでにその日に入っていた場合にエラーを発生させるルールを作成するにはどうすればよいですか? ルールはドライバーモデルにある必要があります(私のコードは混乱しているため、明確にしています。Yii2は初めてです)
私の見解(アーカイブフォーム):
私のドライバーモデル:
私のアーカイブモデル:
yii2 - 生成されたフォームのデータを使用した動的フォーム操作? yii2
基本的。私は2つのことに問題があります:
- 私は動的フォームを使用しています。ユーザーは手元にあるすべての請求書を入力するために必要なだけ追加できます。フィールド (invoice_loadamount) があります。invoice_loadamount フィールドのすべてを合計したいです。したがって、ユーザーが 3 つのフォームを生成する場合、動的フォーム 1 (invoice_loadamount フィールド 1) + 動的フォーム 2 (invoice_loadamount フィールド 2) + 動的フォーム 3 (invoice_loadamount フィールド 3) を合計します。どうすればこれを作ることができますか? 彼が生成したすべてのフォームからこのフィールドを自動的に合計しますか?
- 私の 2 番目の問題は、テーブル (vehicles、列 vehicle_capacity) からデータを取得し、合計が vehicle_maxcap より大きいかどうかを検証し、そうであればエラーを出すような方法で比較したいということです。
私のフォーム:
私のアーカイブモデル:
私の車両モデル:
私の請求モデル:
私のコントローラー:
php - チェックボックスがチェックされている場合は Yii シナリオを設定します
チェックボックスがチェックされている場合、テキストフィールドに必要な検証を適用したいのですが、それ以外の場合はそうではありません。シナリオで試してみましたが、機能していません。