問題タブ [yii-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.

0 投票する
1 に答える
10072 参照

php - Yii2: scenario() モデル メソッド

必要な機能は 2 つあります。登録時にパスワードを設定する機能と、ユーザーがパスワードを忘れた場合にパスワードを変更する機能です。ユーザーがサインアップするとき、パスワードの長さは少なくとも 4 文字である必要があります。変更が通過したとき - 少なくとも 5 文字。

ビューは、登録とパスの変更に共通です。明らかに、2 つのアクションも存在し、いずれかのシナリオで「サインアップ」または「変更」が使用されます。モデルのコード スニペット:

しかし、私はscenario()経由でやりたいです。どうやってするの?私は Yii の初心者なので、scenario()をいつ、どのように使用するかを理解していませんでした。ありがとう。

UPD1 つのルールで 1 つのフィールドscenario()を使用する必要がありますが、この 1 つのルールには異なる引数が必要です。Yii2でシナリオを定義するには? - それは私の場合ではありません。

0 投票する
2 に答える
90 参照

php - Yii の条件付き検証ルール

Yii のカスタム検証ルールに問題があります。day1sday1eday2sなどのフィールドがありますday2e。新しいレコードを作成する前に、これらの属性の値がデータベースに格納されているかどうかを確認したいと思います。また、別のユーザーIDも確認してください。値が既に存在する場合は、エラーを生成し、ユーザーに値を変更するように求めます。私はこのようなことをすることを考えました:

このような作業ですが、変更したいと思います。これのデフォルト値は です。"00:00"このルールを設定すると、新しいレコードを作成するたびに、初回を除いてエラーが生成されます。のときは無視したいday1s==00:00。また、ユーザーが変更された場合(私の場合、ユーザーはSchoolIDです)。その方法について頭を悩ませています。前もって感謝します!

0 投票する
3 に答える
266 参照

php - Yii 1.1 動的フォームからの一意の電子メール値

私はYiiフォームacceptfirst nameとユーザーlast nameから持っていemailます。リンクを使用するadd moreと、ユーザーはこれら 3 つの要素の複数の行を追加できます。

電子メールの検証については、モデル ルールで設定されてuniqueおりrequired、すべて正常に動作します。add moreリンクをクリックすると追加行を作成するために JavaScript を使用しています。

問題

最初の行の値はJohn, Newman, johnnewman@gmail.comで、2 番目の行は と入力してMathew, Heyden, johnnewman@gmail.comいます。この場合、メールアドレスが重複しています。検証ルール (requireおよびunique) のいずれも、これを検証できません。これを検証するためのより良い方法を提案できますか?

更新: カスタム検証関数を作成しましたが、これで問題を解決するのに十分だと思います。カスタム検証関数でform data/全体にアクセスする方法を教えてもらえますか?post data

0 投票する
1 に答える
54 参照

ajax - TblActiveForm での ajax 検証

TblActiveForm で問題が発生しました。1 つのアクションでいくつかのモデルがあり、ajax で検証する必要があります。単純なサーバー検証は正常に機能しますが、ajax 検証を実行できません。ビュー ファイルには 3 つのタブがあり、それぞれに対応するモデルが表示されます。エラー メッセージは表示されません。これが私の行動です:

ファイルを閲覧する:

0 投票する
2 に答える
2740 参照

validation - 検証ルールが有効になっていないYii2でシナリオを作成するには?

MyEntity.phpモデルがあります。モデル スクリプトの一部として、いくつかのルールといくつかのシナリオが定義されています。

私はさまざまなシナリオを持つことができる必要があり、さまざまなアクションに対して特定の検証 (パラメーターによる) のみをアクティブにする必要があります。たとえば、actionOne の場合は scenario_one、actionTwo の場合は scenario_two などです。

コントローラーのコードの一部を次に示します。

ここで、検証がまったく行われてはならない scenario_three が必要です。データベースへの保存中に失敗しないように、コードに追加のチェックを行います。フォームの送信を妨げているため、検証が適用されていないことを確認する必要があります。どのシナリオも適用しない場合は、デフォルトのシナリオが適用されます (リストされているすべての検証がアクティブになります。これは、必要なシナリオとはまったく逆です)。