問題タブ [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.
validation - クラスに他の属性が適用されている場合、CustomValidationAttribute が機能しない
再生:
上記のコードは例外をスローします。
The CustomValidationAttribute method '*********************' does not exist in type 'ContactMd' or is not public and static.
この例外は正当化されており、物事が機能していることを示しています。Md クラスのプロパティの属性のコメントを外すRequired
と、例外はスローされなくなります。つまり、検証システムは、プロパティ タイプの属性とクラス レベルの属性の両方を検証しません。
回避策はありますか?
model-view-controller - MVCでのカスタム検証-新しい電子メールを確認済みの電子メールに一致させる
同じクラス内の2つの値を比較できる新しいカスタム検証を作成しようとしています。この場合、ユーザーがメールを変更するときにメールを2回入力する必要があり、これら2つの値が一致することを確認します。(パスワードの追加/変更についても同じことをします)
これは上記の私のvalidationattributeクラスです。それから私はこれをやって私のクラスの中からそれを使おうとしました
しかし、newEmailでエラーが発生します
エラー3非静的フィールド、メソッド、またはプロパティ'BensBoxing.Domain.EmailChange.newEmail.get'にはオブジェクト参照が必要です
私のクラス全体はこれです
asp.net-mvc-2 - 2 つのプロパティに基づくカスタム モデルの検証。一方が他方に影響を与える
私はエンティティフレームワーク4でAsp.Net MVC 2を使用しています。状況は次のとおりです。チェックボックスとテキストボックス(日付ピッカー)があります。チェックボックスがオンの場合、テキストボックスは必須です。チェックボックスが false の場合、テキストボックスは不要です。
チェックボックス True => テキストボックスが必要
チェックボックス False => テキストボックスは不要
ValidationAttribute を作成する方法は知っていますが、チェックボックスがオンになっているかどうか (エンティティ修復属性が true の場合) を検証し、必要に応じて DatePick フィールドを配置する検証クラスを作成する方法がわかりません。
何か案が ?
.net-4.0 - .net 4 で ValidationAttributes を使用してプライベート プロパティを検証する
コンストラクターを介して設定されたプライベート プロパティを取得するクラスがあります。
次に、基本クラスから次のコードを実行して、渡された値が適切かどうかを確認したいと思います。 ValidationContext context = new ValidationContext(this, null, null);
ValidationResults = 新しいリスト();
問題は、TryValidateObject がパブリック プロパティのみを検証することです。プライベート プロパティを検証する方法はありますか?
entity-framework - ASP.NET MVC 3 カスタム ValidationAttribute を使用してコレクション内の最初の X アイテムのみに対して ComplexModel.EntityCollection.Property1 を検証する
私のモデルを以下に説明します。Application.References コレクションの最初の 2 つの項目については、参照フィールドのサブセットのみを要求したいと考えています。クライアント側とサーバー側の両方の検証でこれが発生することを望みます。以下に説明する作業方法がありますが、クライアント側はかなり面倒だと感じているので、これを処理するためのより良い方法があるのではないかと思います. サブセットを検証するために Application オブジェクトに他のいくつかのコレクションがあるため、可能であれば一般的になりたいと思います。
EFモデル
ReferenceMetaData.cs
私は現在、Pro ASP.NET MVC 2 Frameworkの Steven Sanderson の RuleException と RulesViolationExceptionExtensions を使用して、次のようにサーバー側の検証を手動で行っています。
コントローラーから RunServerValidation メソッドを呼び出し、例外をキャッチして、ModelState にコピーするだけです。問題なく動作しますが、クライアント側でこれを処理する方法がわかりません。[必須] メタデータを使用した場合、コレクション内の 3 つのアイテムすべてにこれらのフィールドが必須になります。3分の2だけ欲しい。
私がクライアントの検証を接続した厄介な方法は、次のように入力をレンダリングしながら、ビューで data-val および data-val-required 属性を指定することです。
動作しますが、これは理想的ではありません。汎用の ValidationAttribute を作成できるのではないかと考えましたが、それは複雑になると思います。Application.References メンバーについて考え[RequiredFieldsForFirstXCollectionItems(FirstXItems=2, Fields= new [] {"FullName", "ReferenceType" /* etc */})]
ていましたが、一般的な方法でそれを行う方法がわかりません。私はその考えで正しい軌道に乗っていますか?その後、クライアント側とサーバー側をそのように実装できますが、かなり複雑なコードになると思います。
2011 年 4 月 26 日更新:
入力タグに data-val および data-val-required html5 属性を配置するよりも、 $(document).ready 関数で jquery.Validation プラグインを使用してクライアント側の検証を追加する方がおそらく良いと思います。それから少なくとも、クライアントの検証のための集中的な場所があります。これが私がやったことです:
もちろん、エラー メッセージにリソース ファイルを使用するようになると、javascript を .js ファイルに移動することにした場合、少し複雑になる可能性があります。関数をビューに保持すれば、必要に応じてリソース ファイルを読み取ることができるはずです。
json - 個々のプロパティのすべての検証属性を使用してモデルをシリアル化する方法は?
コンテキスト: すべての検証ルールを含むフォームフィールドの定義を提供する mvc コントローラー メソッドを使用して jsonP サービスを作成します。
私の問題は、検証属性をシリアル化する方法がわからないことです。通常の Mvc ビューで目立たない検証を使用する場合、Razor によってシリアル化されるのと同じ形式の検証属性を好みます。
json へのシリアル化には、NewtonSoft.Json (4.0.2) を使用します。
モデルの例: public class Profile{
推奨されるシリアル化された JavaScript の例:
ヘルプやポインタは大歓迎です。
c# - ValidationAttribute に指定されたオブジェクト メンバーを無効としてマークさせるにはどうすればよいですか?
私はいくつかのメンバーを含むモデルを持っています:
これでValidationAttribute
withIsValid
メソッドが次のようにオーバーライドされました。
問題は:
検証後、私のモデル状態は Adress メンバー全体にのみモデル エラーを追加しますが、都市や通りなどの指定されたメンバーに追加する必要があります。
これについての助けをいただければ幸いです...ありがとう!
jquery - 属性を使用したクライアント側のカスタム検証が機能しない
カスタム検証属性を作成しました
tring FormatErrorMessage(string name) { return String.Format(ErrorMessageString, name); }
それを使用してモデルを装飾しました
私が持っているクライアント側で
検証パラメーターがなく、 $.validator.unobtrusive.adapters.add(....) を書きませんでした
サーバー側の検証は完全に機能しますが、クライアント側は機能しません。
何か案は?
そして、これはビューです
silverlight - RIA サービスでのデフォルトの「入力の形式が正しくありません」の検証エラーの変更
入力の形式が正しくない場合に、Silverlight DataGrid の既定のエラー メッセージを変更しようとしています。たとえば、数値フィールドに文字を入力します。タブを離すと、「入力の形式が正しくありません」と表示されます。これを修正する方法を見てきました。それは、カスタム エラー メッセージを使用して検証属性を設定することです。問題は、オブジェクトが RIA サービスから来ていることです。検証属性からのカスタム エラー メッセージを無視しているようです。これを公開するために何かする必要がありますか?前もって感謝します。
asp.net-mvc-3 - RequiredIf 条件付き検証属性
次のことを行う検証属性を実装するための最良の方法について、アドバイスを探していました。
モデル
少なくとも prop1 prop2 prop3 に値を設定したいのですが、prop3 が唯一の値である場合、それは false であってはなりません。このための検証属性をどのように記述しますか?
助けてくれてありがとう!