問題タブ [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モデルのカスタムルールと検証
これを整理しようとしていますが、どこにも行きません。モデルの属性として配列を取得しました。必要に応じて、配列内のいくつかのキーに対してカスタム検証を作成しようとしています。または、属性ラベルがどのように機能するかさえ理解できませんか? これが私のコードです:
モデル
配列全体を渡して、キーと値のバリデーターメソッドをチェックインしようとしましたが、カスタムバリデーターはトリガーされません。
php - Yii2 バリデーターがメッセージを表示しない
誰かが私がここで間違っていることを教えてもらえますか?
私の問題は、バリデーターが正常に動作することですが、より大きなファイルをアップロードする場合に備えて、組み込みのエラーメッセージが表示されます。私が指定したものではありません'message' => 'Here goes my message'
そして、バリデーターが 2 つある場合、どうすれば自分の errorMessage を取得できますか?!
簡単な方法は、次のように検証を分割することだと思います。
しかし、まず、これらのメッセージを処理する必要があります。
編集:
問題が解決しました。ドキュメントを読むときはもっと注意する必要があります。ファイル サイズのカスタム メッセージには'tooBig'
またはを使用する必要があり'tooSmall'
ますが、拡張カスタム メッセージには を使用する必要があります'wrongExtension'
。
php - Yii2: パスワードの検証と再パスワードの比較
私は Yii の初心者です。そのため、何が問題なのかわかりません。ログイン、登録、および編集プロファイルに同じモデル (ユーザー) を使用しています。
ユーザーモデル:
スニペットを表示:
サイト コントローラのアクション:
プロファイル編集ページの更新シナリオを使用します。このシナリオでは password_repeat が必要で、パスワードと同じである必要があります。しかし、期待どおりには機能しません。 A:パスワードを入力せずにフォームを送信して再送信しようとすると、パスワードのみ「空白にすることはできません」というメッセージが表示されます。次に、パス入力のみに値を入力し、ページをリロードします (DB テーブルは変更されません)。リロード後、今回は repass フィールドに「空白にすることはできません」というメッセージが表示されます! しかし、最も奇妙なのは、次のページをリロードする前に、すべてが正常に機能することです。リロード後、A に移動します。:) シナリオを削除すると、検証ですべて問題ありません。でも消せない、
では、(シナリオ「更新」を使用して)正常に機能させるために、パス/リパス機能を使用して何をする必要がありますか? どこが間違い?
ajax - Yii2 ajax 検証とフォームの送信
AJAX の情報はほとんどありません。だからこそ、ここで質問をしたのです...
yii2では、ajax検証を使用してフォームを作成および送信するにはどうすればよいですか?
だから私は検索しましたが、正しい解決策を見つけることができませんでした...
例: (公式トレーニング サイトによると)
そしてコントローラーで:
私の問題:
1- ajax 検証
2-ajaxでフォームを送信
php - Yii2、属性名を含むカスタム検証メッセージ
ログインフォームではglyphicon-remove
、すべての検証メッセージの最後に、対応するフィールド名を持つアイコンが必要です。そのため、以下のコードを で使用しましたLogin model
。
この上記のコードの代わりに、以下のコードのようなものを使用する方法はありますか?
上記のコードの考え方は、すべてのフィールドに対応するフィールド名を動的に取得することです。
必要なことをしてください。ありがとう。
アップデート
ここで使用したHTML
コード ( <span class="glyphicon glyphicon-remove"></span>
) は、 を使用して正しく出力されencode=>'false'
ます。しかし、私が必要としているのは、フィールドごとに個別に定義するのではなく、すべてのフィールドに共通に定義する必要があるということです。
php - Yii2、カスタム検証: clientValidateAttribute() が正しく機能しない
ActiveForm ウィジェットによって作成されたフォームがあります。ユーザーはそこにポーランドの郵便番号を入力します。適切なコントローラーで、入力したデータをDBに入れました。次に例を示します。
郵便番号の検証にスタンドアロンのバリデーターを使用することにしました。model でのこの属性の規則:
app/components/validators/PostalValidator クラス コード:
したがって、正しいコードの例は00-202です。
(ユーザー ロールで) 間違った値を入力すると、ページがリロードされ、Wrong postal code format.
メッセージが表示されますが、clientValidateAttribute
メソッドを再定義して を書きJS-validation
ました。次に、もう一度送信ボタンを押します。今回はページがリロードされずInvalid status input.
、メッセージが表示されます (つまり、2 回目のプレス時間 JS がトリガーされます)。しかし、その後正しいコードを入力すると、Invalid status input.
メッセージが表示されても何も起こりません。
clientValidateAttribute()
それで、私の方法の何が問題になっていますか?validateAttribute()
よく働く。
コントローラーからのスニペットの更新