問題タブ [remote-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.
asp.net-mvc-3 - MVC3 でのリモート検証は、lostfocus ではなく、keypress/keyrelease でトリガーされます
登録フォームのユーザー名入力テキストに対して MVC3 でリモート検証を試みていますが、入力がフォーカスを失ったときにリモート検証トリガーが期待されることを除いて、すべて正常に機能しますが、キーを押すかキーを押すたびにトリガーされますそれが入力に書き込まれ、その結果、アクションの検証に対して多くの要求が、記述したすべての文字の数だけ発生します。
目立たない JavaScript のビルドを使用して、この動作を変更する方法はあります。
これは私のプロパティモデルがどのように見えるかです:
これはコントローラーの外観です。
また、登録フォームは @Html.Partial を使用してレンダリングされます
ありがとう。
c# - リモート検証を使用して、フィールドに値がない場合にフィールドに値がないことを確認する
特定のフィールドがユーザー編集可能であるかどうかを確認するために、RequiredIf属性の代わりにリモート検証を使用するように上司から指示を受けました。
今のところ、私のコードは次のようになっています-
モデルを表示
コントローラ
...そして最後に、私の見解:
質問:検証は、値が入力された場合にのみ発生しますが、テキストボックスに値が含まれていない場合は発生しません。リモート検証は、テキストボックスに値がある場合にのみ機能しますか?そうでない場合、この設定にどのように間違ってアプローチしていますか?
c# - リモート検証はデータをアクションに渡さない
私はモデルを持っています:
ControllerName コントローラーでアクションを実行します。
ただし、アクションが呼び出されると、パラメーター someNumber は常に null になります。そして、それをデバッグしようとすると、
どうすればそれを機能させることができますか?(モデル全体の MyModel を渡すことはできず、ビュー内のフィールドの MyModel.SomeNumber 名を変更することはできません)
アップデート。私の見解での入力:
UPD解決!:) 単一のフィールド SomeNumber で新しいモデルを作成し、プレフィックスを使用します。
jquery - jquery validateリモート検証は、フィールドが変更された場合にのみ機能します
と
これは、メールフィールドを検証するために使用しているコードです。メールフィールドを変更したり、新しい値を入力したりしても問題なく動作しますが、フォームを送信するだけではエラーが発生します。簡単に調べたところ、メールフィールドを編集しないと、送信ボタンが投稿データに含まれていないことがわかりました。
私が間違っていることは、助けてください。
これが私のコントローラーコードです。デバッグの範囲を広げるのに役立つかもしれません。送信ボタンが投稿データの一部であるかどうかを確認しています。
そして最後に、FabioAntunesによって提案されたソリューションが機能しました。
次のようにルールを変更し、入力フィールドからインラインリモートを削除しました
asp.net-mvc - DataAnnotationsModelValidator アダプターを使用した MVC3 リモート検証
カスタム DataAnnotationsAttribute を使用して、モデルの DTO プロパティでさまざまな電話番号プロパティを検証したいと考えています。コードを DRY に保つために、DataAnnotations を ViewModel に複製したくありません。代わりに、DataAnnotationsModelValidatorProvider を使用してクライアント側の検証用のカスタム アダプターを登録しました。このアダプターは、通常 RemoteAttribute によって使用される ModelClientValidationRemoteRules を提供します。jQuery の控え目な検証は、個々のフィールドを検証する検証アクションを呼び出します。
ただし、この設定は実際には十分ではありません。
属性は現在、その ContainerType を使用して、呼び出す検証アクションを決定します。ただし、DTO はさまざまなネスト レベルのさまざまなビューモデルで使用されるため、アクションでどのプレフィックスを使用すればよいか正確にはわかりません。モデル階層内の ProfileDto の場所に応じて、アクション プレフィックスを変更する必要があります。
検証アクションは Request.Form.Keys を使用して、検証する必要があるプロパティを決定します。単体テストなどのために、Action の Request オブジェクトに近づかないことがベスト プラクティスであることはわかっています。
ポストバックで検証するフィールドの名前を含める良い方法があるので、Request.Form を使用する代わりに追加のパラメーターとしてアクションに含めることができますか?
モデル バインダーにプロパティをバインドさせる方法はありますか?
前もって感謝します!
属性は次のとおりです。
そしてアダプター:
アクションは次のとおりです。
c# - ASP.NET MVC4 - コレクション オブジェクトのリモート検証
私は、これを機能させる方法を見つけようとして、機知に富んでいます。多数のコレクション オブジェクトを含む ViewModel に厳密に型指定された ASP.NET MVC4 ビューがあります。これらのオブジェクトの 1 つは、列ヘッダーのリストです。
このメンバーを次のようなリモート検証属性で簡単に修飾できるようにしたい
次に、Validation コントローラーの AreCustomExpressionsSafe アクションのパラメーターとしてコレクション全体を受け入れ、そのコレクションのすべてのメンバーに対して一度にクライアント側の検証を実行し、サーバーへの 1 回の往復で行うことができます。おそらくビューとビューモデルの定義で、これを実現するために必要なコードを誰かが示すことができますか? どんな助けも完全な命の恩人になるでしょう - 私は本当に選択肢がありません.
jquery - JQuery Validator プラグイン: リモート呼び出しが機能しない
リモート検証でユーザー名を検証しようとしています。
ここにjsコードがあります
そしてphpファイル
ユーザー名が既に取得されている場合でも、入力を受け入れ続けます。
phpファイルを次のように変更しました
入力の検証を続けます。
ajax - DefaultModelBinder コードが MVC リモート検証呼び出しで呼び出されない
継承元の DefaultModelBinder があり、BindModel 呼び出しと OnPropertyValidating 呼び出しをオーバーライドしようとしました。
ただし、ASP.NET MVC の組み込みのリモート検証を使用する場合、コントローラー アクションが呼び出されると、DefaultModelBinder がバイパスされるため、必要な方法でバインド/検証されません。
global.asax に登録しましたが、何かアイデアはありますか?
c# - 複数のフィールドの MVC 3 リモート検証
3 つのフィールドのうち少なくとも 1 つが空でないことを検証したいと思います。ASP.NET リモート検証メカニズムを使用してこれを実行しようとしています。
私は次のモデルを持っています:
コントローラ:
EmployeeId と ManagerId は、複数選択を使用してビューに実装されます。初めて SuperManagerId を変更したときに一度検証されました。そして、フォームを再度変更しようとしたり、フォームを送信しようとしても、リモート検証が機能しません。
ビューで検証を強制しようとしました:
しかし、それは役に立ちませんでした。