問題タブ [ivalidatableobject]
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.
c# - IValidatableObjectを使用するにはどうすればよいですか?
IValidatableObject
これは、プロパティを相互に比較できるようにオブジェクトを検証するために使用されることを理解しています。
個々のプロパティを検証するための属性が必要ですが、特定の場合に一部のプロパティの失敗を無視したいと思います。
以下の場合、間違って使用しようとしていますか?そうでない場合、これをどのように実装しますか?
.net - IDataErrorInfo対IValidatableObject?
現在、私のビジネス オブジェクトは を実装していIDataErrorInfo
ます。これらのライブラリを ASP.NET MVC 3 で使用するつもりなのでIValidatableObject
、同様に実装するか、代わりに実装する必要があると考えています。
WPF は で動作しIValidatableObject
ますか?
DataAnnotations はどのように図に適合しますか?
asp.net-mvc-3 - MVC3IValidatableObject日付
日付フィールドを持つ基本的なフォームがあり、内で検証したいと思いIValidatableObject
ます。フィールドのタイプはDateTimeプロパティにマップされているので、誰かが2011年6月15日と入力した場合、Validateメソッドでそれをどのように取得しますか?厳密に言えば、それは意味のないDateTimeでDateTimeオブジェクトを検証するのとほとんど同じです。これを回避する方法や、間違った日付を検出する方法についてのアイデアはありますか?
asp.net-mvc - IValidatableObjectがトリガーされない
http://davidhayden.com/blog/dave/archive/2010/12/31/ASPNETMVC3ValidationIValidatableObject.aspxで説明されているように、IValidatableObjectを利用しようとしています。
しかし、私が検証しようとしているときは起動しません。ModelState.IsValid
常にtrue
です。
これが私のモデルコードです:
LINQをSQLテーブルと呼ばれるものに拡張しましたRegistration
。最初の推測では、これはMetaクラスでは実行できないと思いましたが、よくわかりません。
エラーは発生せず、正常にビルドされますが、Validate
メソッドは起動しません。私は何を逃しましたか?
asp.net - IValidatableObjectDataAnnotationsが失敗したときに起動するメソッドを検証します
いくつかのDataAnnotations検証を含むViewModelがあり、より複雑な検証ではIValidatableObjectを実装し、Validateメソッドを使用します。
私が期待していた動作はこれでした。最初にすべてのDataAnnotationsを実行し、次にエラーがない場合にのみValidateメソッドを実行しました。しかし、これが常に正しいとは限らないことがわかりました。私のViewModel(デモ1)には、1つstring
、1つ、decimal
および1つの3つのファイルがありdecimal?
ます。3つのプロパティはすべて、必須属性のみを持っています。string
およびの動作decimal?
は期待どおりですが、がdecimal
空の場合、必須の検証は失敗し(これまでのところ良好)、Validateメソッドを実行します。プロパティを調べると、その値はゼロです。
ここで何が起こっているのですか?私は何が欠けていますか?
注:Required属性は、値がnullかどうかをチェックすることを想定していることを知っています。したがって、null許容型では必須属性を使用しないように指示されるか(トリガーされないため)、または、属性がPOST値を理解し、フィールドが入力されていないことに注意してください。最初のケースでは、属性はトリガーされず、Validateメソッドが起動する必要があります。2番目のケースでは、属性がトリガーされ、Validateメソッドが起動されないはずです。しかし、私の結果は次のとおりです。属性がトリガーされ、Validateメソッドが起動します。
コードは次のとおりです(特別なことは何もありません):
コントローラ:
モデル:
ViewModel:
意見:
c# - IValidatableObject Validate メソッドが機能しない
私はこのクラスをMVC3で使用しています...
各プロパティの検証属性は正常に機能していますが、Validate メソッドが呼び出されて結果が返されたときに、フォームにポストバックされません。誰か助けてくれませんか??
コントローラーコード:
コードを表示:
c# - 一部のアクションでのみ IValidatableObject
IValidatlableObject を実装するモデルがあるため、Validate メソッドによるカスタム エラー チェックを行います。
オブジェクトを作成するときは問題ありませんが、そのオブジェクトを編集しようとすると、そのカスタム検証を行いたくありません。
検証を行わないために Validate メソッドを呼び出しているアクションをどのように知ることができますか?
更新: これは mi モデルです:
}
したがって、成分を作成するときはすべて(属性+ IValidatable)を検証したいのですが、成分を編集するときは属性のみを検証したい(つまり、IValidatableをスキップすることを意味します)IValidatableメソッド内で、私がどこから来たのかを知る方法Validate を呼び出しますか?
ありがとう!!!
asp.net - 個別のアセンブリ内の IValidatableObject
こんにちは、ASPNET MVC 4 プロジェクトに IValidableObject インターフェイスを実装しようとしています。フレームワークが検証メソッドを実行すると、validationContext が表示されず、次のエラーが表示されます: validationContext Cannot access a non static member of outside type 'AS.Core.Model.Horario.Validate' via nested type 「AS.Core.Model.ホラリオ」
問題が別々のアセンブリに関するものであることは明らかですが、これを機能させるために何をすべきかわかりません。誰かが私を助けることができますか?
これは私のコードです:
asp.net-mvc - JavaScript によって動的に非表示になっているフォーム フィールドで ValidationSummary エラーが発生したため、フォームを投稿できません。
ASP.NET MVC 3 アプリケーション。
JavaScript を使用して表示および非表示になるいくつかの動的フィールドを持つフォームを投稿しようとしています。これらの動的フィールドのいくつかでサーバー側の検証を行うために IValidatableObject を使用しています。
これらのフィールドが表示されているときにフォームを投稿すると、検証が正常に機能し、ValidationSummary に適切なエラー メッセージが表示されて返信されます。これらのエラーメッセージが表示されている間、これらのフィールドを非表示にします
document.getElementById("schoolNotListed").style.display = "なし";
フォームを再度投稿しようとすると、毎回 ValidationSummary エラーが表示されます。コントロールはコントローラーに到達せず、viewmodel の Validate() 関数にも到達しません。フォームの投稿を妨げているのは、クライアント側の検証です。
javaScript によって現在非表示になっているこれらのフィールドに対して、この検証をスキップまたは無効にする方法はありますか。または、javaScript を使用して ModelState をクリアできますか?
別の方法でアプローチする方法について何か提案があれば教えてください。
ありがとう