問題タブ [zend-validate]
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.
php - 検証エラーの動作を変更するZend:別のタグで要素をラップする
メールのバリデーターを設定して、空にならないようにしました。
これは、zend_formが生成する通常のフォームのマークアップです。
検証が失敗すると、zend_formはul class="errors"
dd内に新しいものを追加します
このデフォルトの動作を少し変更して、全体dt dd
を1つにまとめたり、エラークラスを追加しp
たりするにはどうすればよいですか?something
私の推測では、要素にエラーがある場合の動作方法をzend_formに指定する必要があります。
zend-framework - zend フォーム要素の zend validate に関する問題
メールを検証し、形式が無効な場合にエラー メッセージを表示するために、このフォーム要素を使用していました。
setErrorMessages は、これが必要な唯一の検証であったため、すべてのエラー メッセージをカスタム メッセージに置き換えたため、正常に機能しました。DB に既に存在するかどうかを確認するために、別の検証を追加する必要がありました。
機能は問題ありません。問題は、電子メールが無効な場合、デフォルトの zend 検証メッセージが表示されることです。それが存在する場合は、カスタム メッセージが表示されます。この方法で以前の機能をアーカイブする方法はありますか? (すべての無効なメール メッセージを置き換えます) setErrorMessages を使用できません。これは、メールが既に存在する場合に「無効なメール」が表示されるためです。
'messages' => 'Error' を使用してみましたが、何も起こりません (エラーはありませんが、デフォルトのメッセージが表示されます)。
$emailValidator = 新しい Zend_Validate_EmailAddress(); $emailValidator->setMessages('無効な電子メール');
そして、フォーム要素に追加しました
$email_users->addValidator($emailValidator)
同じ結果はありません。最も近いのは 'messages' => array(Zend_Validate_EmailAddress::INVALID_FORMAT => 'Invalid email') を実行することです 'email@' や 'email' のようなものを入力するとメッセージが表示されますが、'email@host と入力すると' ホスト名、dns、ローカルネットワークに関する 3 つのエラーが表示されますが、setMessages('Error') を使用すると表示されません ('Error' と表示されるだけです)。
前もって感謝します。
model-view-controller - Zend モデルの検証
私は Zend アプリケーションに取り組んでいますが、Zend の経験があまりないため、RubyOnRails の経験に頼っています。
いくつかの記事から、ほとんどの検証が Forms レベル (Zend_Form を使用) で実装されていることがわかりました。しかし、私にとっては少し奇妙に見えます-モデルレベルで検証を行う方法-フォームデータに基づいてモデルを作成し、$model->isValid();
フォームポストリクエストなしでいくつかのモデルを作成しているので、理にかなっているように実行します。
私の現在のモデルフロー:
そして、私が次のようなことをしているとします
メソッド内で RegExp を使用して検証を簡単に実行できることはわかっていますが、すでに実装されているメソッドなど、すべての便利なものisValid
を使用したいと思います。Zend_Form
addValidator
addFilter
また、Zend でモデルを管理するこの正しい方法はありますか?
どんな助けや提案も大歓迎です!
php - 数値の zend バリデータ正規表現に問題がある - 整数またはオプションの浮動小数点数
これが私を夢中にさせているので、私は本当に助けていただければ幸いです。Zend フォームから送信された数値を、整数または小数 (小数点以下 2 桁) のいずれかで検証しようとしていますが、0 または 0.00 を許可していますが、空の入力は許可していません。
何らかの理由で、100.00 のような float は次の検証エラー メッセージを生成します。regexNotMatch メッセージまたは regexInvalid メッセージは生成されません。これは私が期待するものです。
この検証エラー メッセージは、私が呼び出していない数字バリデーターによって生成されているようです。それを止めるためにできることはありますか?
また、空の入力は検証エラー メッセージを生成しません。
「rt67」のような文字列を試してみると、regexNotMatch メッセージが正しく表示されます。
これが違いを生む場合、mvcなしでzendコンポーネントを使用しています。
zend-framework - Zend バリデーター Zend_Validate_EmailAddress は何もしません: サイト構成は問題ないように見えますが、おそらくそうではありません
再び困惑。(Zend フレームワーク 1.11.1)
非常に単純なフォームにバリデーターを追加しましたが、無効なデータが入力されても何も起こりません。
コード:
setRequired は何もしないようです。フィールドを空のままにして送信を押すと、すぐに実行されます。ガベージ データも通過します。
エラーメッセージも何もありません。
ライブラリ ディレクトリには次のものが含まれます。
何が間違っているのかを推測するのはちょっと難しいです。
頭に浮かぶかもしれない手がかりを教えていただければ幸いです。
読んでくれてありがとう。
php - ZendForm必要な要素の検証
Zendフォームに必要な要素があります:
すべてのバリデーターは完璧に機能します。しかし、それは1つの問題です。コントローラでは、 getValidValuesを使用してフォームをチェックします(これは私にとって必須です)。また、レコードがDBに存在する場合、要素は無効であり、Zendはこの要素をクリアします。そして、「値が必要です」というメッセージを受け取ります。DB内の行の存在に関するメッセージを取得するにはどうすればよいですか?
英語でごめんなさい。前もって感謝します。
php - クライアント側でのZendバリデーターの再利用
この質問は、回答が得られなかった別のフォーラムで見つかりました。ここで尋ねる価値のある良い質問だと思いました。ここに一言一句貼り付けています。
こんにちはみんな、私は空のアイデアのパイを持っています、そして私はそれがリモートでさえ可能であるかどうか、または私が諦めて何か他のものを試すべきかどうか疑問に思っています。
Zend側に多数のカスタムバリデーターを備えた多数のZend_Dojo_Formフォームがあります-それらは正常に機能し、値が正しくない場合はフォームがエラーになります。すべてが期待どおりに機能しますが、私も同様に、同じバリデーターがフォームのDojoクライアント側で機能しますが、バリデーターごとに完全に再実装する必要はありません。
最も単純なレベルでは、Dojo isValidメソッドはその背後にあるアプリケーションを認識または認識せず、実際にアプリケーションのエラーにアクセスできるようにするには、送信を試行する必要があることを理解しています。これは意図されたものではありませんが、誰かが次のようなシステムを試したことはありますか?
- onSubmitフォームをオーバーライドして、コードを追加します
- Dojo isValid()をテストします
- Dojo側が満足している場合は、AJAXがフォームを送信します
- 成功した場合、返される方法がわかりません。適切なページに進んでください。
- 成功しなかった場合(そしてこれは私が推測するトリッキーになるところです)、エラーが発生したフィールド、エラーが何であったかを知るのに十分なデータを返し、フォームをそのように見せるために十分なDojoisValid内部ガッツを呼び出します検証しませんか?
このようなアイデアを放送しているだけで申し訳ありませんが、クライアント側とサーバー側の両方で機能するカスタムバリデーターをフォームにグローバルに追加する方法を考え出すことができれば、それらを一意に実装する必要がないので、本当に役立つかもしれないと思いました。両側。
php - このバリデーターの後にこのフィルターを実行する方法
私には要素があります。カスタムバリデーターとカスタムフィルターを追加したいと思います。バリデーターは、入力がいくつかの許可された値の1つであることを確認してから、フィルターがいくつかのカスタム値を入力に追加します。これは、フィルターを実行する前に、最初に元の入力を検証する必要があることを意味します。この順番でやります
しかし、この順序は尊重されていません。フィルタが最初に実行されてデータが変更され、次にバリデーターがフィルタリングされたデータに対して実行されます。つまり、有効な入力に対しても常に失敗します。ドキュメントから、これは意図的なもののようです
注:検証はフィルター処理された値で動作しますZend_Form_Element :: isValid()は、検証の前に、提供されたフィルターチェーンを介して値をフィルター処理します。詳細については、「フィルター」セクションを参照してください。
バリデーターとフィルターが実行される順序を指定するにはどうすればよいですか?
zend-framework - Zend Form Validation:: 同一の反対側のバリデータは存在しますか?[入力が 'str' と同一でないことを確認する方法]
Zend フォーム検証: Identical の反対 (つまり、notIdentical) のバリデーターはありますか? 入力が「str」と同一でないことを確認するにはどうすればよいですか?
php - Zend 構文の説明 - %value% とはどういう意味ですか?
http://framework.zend.com/manual/en/zend.validate.writing_validators.htmlに構文が表示されます
ケース- %value% は何を意味し、何をしているのか?
ありがとう