問題タブ [validationattribute]

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 投票する
3 に答える
2433 参照

asp.net-mvc-3 - データ注釈検証属性をプログラムでオン/オフにする方法

そのため、ASP.NET MVC 3 と Entity Framework 4.1 (コード ファースト) を使用しています。

私はこのようなクラスを持っています:

範囲の検証は正しく実行されます。しかし、たとえば、Age 属性の範囲を変更したい場合があります。またはオフにすることもできます。Model クラスを変更せずにどうすればよいでしょうか? これをプログラムで作成することは可能ですか?

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

asp.net-mvc-3 - MVCの控えめなアダプターを使用して、検証機能中にjquery検証メッセージをカスタマイズすることは可能ですか?

selectMVC3フォームに複数のリストボックスがあります。ユーザーは、このリストボックスにカスタム要素を追加optionしたり、このリストボックスからカスタム要素を削除したりできます。ただし、リストボックス内の2つのオプションに同じ値が含まれていないことを検証したいと思います。

IClientValidatableを実装するカスタムValidationAttributeを作成しました。サーバーとクライアントの両方の検証が機能しています。ただし、ErrorMessageは次のようになります。

残念ながら、部分的にフォーマットされたメッセージをクライアント検証メッセージに渡すことしかできません。そのようにしています。

検証は、検証が実行されるまでどのオプション値が複製されているかを認識しないため、検証機能中にメッセージのフォーマットを完了したいと思います。

ただし、エラーメッセージは機能中にしか設定できないよう$.validator.unobtrusive.adapters.add()です。

data-val-noduplicatestringvalues検証中に要素に属性を設定しようとしましselectたが、エラーメッセージは次のように表示されます。

FieldNameには複数の'{1}'アイテムがあります。

検証機能中にエラーメッセージを変更する方法はありますか?

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

asp.net-mvc - ASP.NETMVCValidationAttribute他のプロパティの表示名を取得

ASP.NET MVC 3 CompareAttributeをコピーして、カスタムのCompareLessThan検証属性を作成しました。等しいかどうかを確認する代わりに、あるプロパティが別のプロパティよりも小さいことを確認します。クライアント側のエラーがある場合は、メッセージ「{0}は{1}未満である必要があります」がユーザーに表示されます。

私のモデルは、リソースファイルを参照するDisplay属性を使用して次のように設定されています。

その場合、カスタム検証のGetClientValidationRulesメソッドは、CompareAttributeの場合とまったく同じです。

ここでは、問題が発生した場合にユーザーに表示されるエラーメッセージを生成しています。カスタムCompareLessThan属性で装飾されたプロパティのリソースファイルから表示名を取得できますが、私の質問は、比較対象の「その他」のプロパティの表示名を取得するにはどうすればよいですか?IsValidメソッドには、validationContextへの参照があり、そこから「other」プロパティのPropertyInfoオブジェクトを生成でき、表示名を取得できると思います。しかし、GetClientValidationRulesではアクセスできません。

他のプロパティの表示名にはいつでも別の値を渡すことができましたが、データアノテーションですでに指定しているので、それを導出する方法があることを期待していました。

何か案は?

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

silverlight - カスタム ValidationAttribute の ValidationErrors が正しく表示されない

サーバーとクライアントの間で共有される ValidationAttribute を作成しました。データ ヘルパー クラス内で参照されたときにクライアントに適切に生成される検証属性を取得するには、その構築方法を非常に具体的にする必要がありました。

私が抱えている問題は、何らかの理由で、カスタム検証属性クラスから ValidationResult を返すときに、クライアント UI の他の検証属性と同じように処理されないことです。エラーを表示する代わりに、何もしません。ただし、オブジェクトは適切に検証されますが、失敗した検証結果は表示されません。

以下は、私のカスタム検証クラスの 1 つのコードです。

これは、サーバーとクライアントの両方でプロパティの上で使用する方法です。

そして、バインディングをセットアップするいくつかの異なる方法を試しました。

としても

これらのいずれも、バインドされているフォームがエントリを検証するようには見えません。TextBoxes、XamGrids にバインドされた値でこの属性を使用しようとしましたが、どちらも適切に検証されませんでした。

この問題は、サーバー側で ValidationResult を使用しようとしているときにのみ発生するようです。ビューモデルの値で検証結果を使用すると、適切に検証されます。ただし、生成されたコードからこれを適切に検証する方法を見つける必要があります。

どんな考えでも大歓迎です。

0 投票する
5 に答える
3351 参照

c# - Guid データ型を検証するにはどうすればよいですか?

GUID データ型を検証する方法はありますか?

検証属性を使用しています。 http://msdn.microsoft.com/en-us/library/ee707335%28v=vs.91%29.aspx

0 投票する
0 に答える
465 参照

asp.net-mvc-3 - ASP .NET MVC 3 Validation unobtrusive - 検証ルールの評価順序

フィールドが空であるかどうかを別のフィールドに従って判断するために、カスタム ValidationAttribute "RequiredIf" を作成しました。アダプターを作成し、メソッドを追加しました。

例を次に示します: http://anthonyvscode.com/2011/07/14/mvc-3-requiredif-validator-for-multiple-values/

問題は、プロパティに必要以上のメタデータがあり、プロパティが Int32 であることです。そのため、フォームがクライアントで検証された場合、値が数値の場合は最初に評価され、値が空の場合は評価されます。

どうすれば修正できますか?規則の正しい順序は、if、number、および range である必要があります。

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

asp.net-mvc-3 - 入力がフォーカスを失ったときではなく、送信時にのみ発生する MVC3 のカスタム検証属性を取得する

入力がフォーカスを失ったときではなく、送信したときにのみ起動するMVC 3のカスタム検証属性を取得しようとしています。

これが私のカスタム検証属性です。

クライアント側の検証用の .js ファイルは次のとおりです。

これが私のモデルです

そして、これが私の見解です。

0 投票する
0 に答える
210 参照

regex - RegularExpressionAttribute が正しいデータの検証に失敗する

試してみるとうまくいく正規表現があります:

しかし、検証フィルターとして使用すると:

クライアント側では機能しますが、サーバー側では機能しません。たとえば、「ユニバーサル」という単語を渡すModelStateと、その正規表現バリデータでマークされたフィールドに関するエラーが含まれます。

この属性は、そのフィールドに適用される唯一の検証規則です。何が問題なのですか?

乾杯。

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

asp.net-mvc-3 - MVC3 シンプル カスタム検証

シンプルなカスタム検証、

私のモデルとカスタム検証:

(上記のインライン コメントを参照してください)

見る:

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

asp.net-mvc-3 - カスタムValidationAttributeのModelClientValidationRequiredIfRuleメソッドから複合型のフルネームを取得します

ASP.NET MVC 3での検証の完全ガイドの例を使用して、 RequiredIf検証属性を作成しています(「より複雑なカスタムバリデーター」という見出しの下のページの約1/3です)。1つのシナリオを除いて、すべて正常に機能します。それは、複雑なタイプに対して検証する必要がある場合です。たとえば、次のモデルがあります。

問題は、StreetAddressプロパティの属性検証がレンダリングされるときに、の属性で装飾されることですdata-val-requiredif-other="DontUse"。残念ながら、アドレスはメインモデルのサブタイプであるため、DontUseだけでなく、HomeAddress_DontUseという名前で装飾する必要あります

不思議なことに、検証はサーバー側の検証では正常に機能しますが、JSは「DontUse」という名前のオブジェクトを見つけることができないため、クライアント側の控えめな検証はJSエラーで失敗します。

したがって、ModelClientValidationRequiredIfRuleメソッドを変更して、検証しているプロパティが親タイプのサブタイプであることを確認する方法を見つける必要があります。その場合は、ParentType_を「otherProperty」フィールドの前に追加します(たとえば、otherPropertyはになりHomeAddress_DontUseます。

属性のパラメーターとして渡そうとしましtypeof(MemberAddressModel)たが、属性の作成をデバッグしているときでも、そのタイプからHomeAddressまたはWorkAddressの親タイプへの参照が見つからないようです。