問題タブ [asp.net-mvc-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.
regex - MVC 3 を使用した正規表現およびその他の検証
MVC で次の検証を実装する必要があります
1.日付フィールド
フィールドは mm/dd/yyyy 形式のみを受け入れることができ、1753 から 9999 までの年の範囲と、葉の年や 30 日、31 日などのその他の基本的なチェックである必要があります。
場合によっては、フィールドが「N/A」というテキストを受け入れることがあります (該当なし)
また、日付は開始日より後にする必要があります。
2. 数値フィールド
1 から 100 までの有効な数値を受け入れる必要があります。小数の場合は 0.1 から 99.99 です。
受け入れ可能 N/A
3.依存フィールド
このフィールドは、別のフィールドに値がある場合にのみ必須です。
4.トリガー
このフィールド値が A->B の場合、編集可能な他のフィールド値に影響するはずです。
MVC 3 がすべてをサポートするライブラリはありますか? または、 Foolproofと標準の MVC 検証を組み合わせますか? 上記のニーズを実装するための提案はありますか?
asp.net-mvc-3 - MVC3必須フィールドで文字以外のキーを押すと検証が開始されますか?
ログイン ビューで、ユーザーが電子メール アドレスを入力し、すぐにタブでパスワード フィールドに移動すると、MVC3 必須属性の検証が開始されることに気付きました。私が持っているコードはかなり大きいですが、非常に単純なページで再現できました。これは次のようになります。
モデルが添付された非常に基本的なビューがあります。モデルには 2 つのプロパティがあり、どちらも [Required] 属性を持っています。1 つにフォーカスして、文字を入力しないキー (Shift、Esc など) を押すと、必要な検証が起動し、入力していないにもかかわらず、フィールドが必須であるというエラー メッセージが表示されます。まだ何も。
この初期の検証が開始されないようにする方法を知っている人はいますか?
asp.net-mvc - モデルとhtml属性のみのValidationMessageFor-MVC3
MVC3アプリケーションでの作業。
検証メッセージhtmlにクラスを追加する必要があります。スパンタグのことです。
私のモデル
マークアップ
しかし、 @ Html.ValidationMessageFor(m => m.RoleName、htmlAttributes)のようなオーバーロードされたメソッドを見ることができませんでした。テキストを入力すると、モデルに入力された有効なメッセージが表示されません。常に一部のテキストのみが表示されます。
これに対する修正はありますか?
regex - MVC FoolProof 検証の拡張
MVC 3 アプリケーションでMVC FoolProof Validationを使用したいと考えています。
数値検証が必要で、N/A または N/A も受け入れます。そこで、 NumericAllowNAAttributeのような独自のカスタム検証属性を作成し、jQuery 検証カスタム アダプター メソッドを追加することにしました。
MVC Foolproof を再訪し、それを使用することにしました。これには、他の有用なメソッドが既にビルドされているためです。そっちも欲しい。jQuery 検証とサーバー側を使用して、クライアント側で動作する CustomValidationAttribute を作成するにはどうすればよいですか?
MVC Foolproof の拡張についてグーグルで検索しましたが、何も得られませんでした。
jQuery検証プラグインを使用して、サーバーとクライアントでこの種の検証作業を拡張または実装することに遭遇した人はいますか?
asp.net-mvc - MVC3注釈を使用してカスタムエラーメッセージを定義する方法は?
DateTime フィールドがあります (複数の日時形式を受け入れることができるため、正規表現パターンを作成するのは面倒です)
フィールドに「Aaaaaa」などと入力すると、次のエラー メッセージが表示されます。
モデルの外観:
意見:
この特定のフィールドのカスタム エラー メッセージを定義するにはどうすればよいですか?
ありがとうございました
asp.net-mvc - データ注釈属性を使用してJavaScript属性をフォームフィールドに追加する方法はありますか?
テキスト入力に属性を追加してdata-other-for
、それを選択にリンクし、ユーザーが選択で「その他」を選択したときに選択に存在しない値をキャプチャするために使用できるようにしたいと思います。属性のコードは、実際に「その他」である値または説明を決定します。その場合、テキスト入力を有効にし、場合によっては必須にします。
これを行う唯一の方法は、新しいヘルパーを作成することであるように思われます。これは、ValidationAttribute
Iを介して、事前設定された検証HTML属性のみをテキスト入力に追加できるためです。または、大きくして、まったく新しいメタデータプロバイダーを作成します。
asp.net-mvc - ASP.NET MVC モデル検証エラーのローカリゼーション コンテキスト
まず第一に、データ注釈ベースのモデル検証が ASP.NET MVC4 でどのように機能するかを理解し、それを .NET で正常に実装したと言わざるを得ませんDataAnnotationsModelValidatorProvider
。そのため、セットアップの支援は必要ありません。
しかし、 になるHtmlHelpers
と、エラー メッセージのコンテキストを把握するのに苦労しています。と言うcontext
のは、どのエラーについて話しているかを意味します。エラーを返した属性はどれですか?
私が得ることができるのはKey
、エラーと現在ErrorMessage
のものですが、プログラム的には、私が話しているエラーを伝えるものは何もありません。それがRequired
属性であろうと他の属性であろうと、それらを区別する方法を見つける方法はありません。
シナリオを少し開いてみましょう。要素HtmlHelpers
をレンダリングするカスタムがあります。ContentEditable
たとえばHtml.ContentEditableValidationMessageFor(m => m.firstName);
。次のような出力が得られます。
現在、contenteditable
要素の変更を処理して永続化するための jQuery プラグインがあり、それらをバックエンドに永続化します。ただし、UI には、どのエラー メッセージについて話しているかを示すものは何もありません。人間はそれが であることを簡単に確認できますが、プログラム的には、たとえばRequiredAttribute
いくつかのものと区別するためのデータがありません。MinLengthAttribute
このシナリオでは、単純に をdata-valmsg-for="firstName"
ローカライズのキーとして使用すると、同じプロパティに関するすべてのエラーに対して同じエラー メッセージが返されます。
丸めるには
ModelState
ModelError の一意の ID を発行するためのベスト プラクティスはありますか? ASP.NET MVC4 とDataAnnotationsModelValidatorProvider
.
ModelState
「一緒にハックする」方法はたくさん考えられますが、MVC が提供するものは何でも使用したいと思います。すべてが custom を書くことに帰着するならModelValidatorProvider
、私はそれに対してすべてオープンです。それが最良かつ最も持続可能な方法である限り。私はすべて、今すぐハッキングし、機能し続けるために永遠にハッキングするよりも、今より多くのことを行い、後で行うことを支持します
asp.net-mvc - MVC データ注釈の範囲検証が正しく機能しない
モデルにRangeValidator
on a プロパティがあり、0 から 100 までの整数のみを許可しています。jQuery UI ダイアログを介してプロパティを更新するフォームを表示する部分ビューがあります。ソースを確認したところ、データ注釈属性が適切に生成されていることが確認できました。ただし、検証は正しく機能していません。何らかの検証を実行しますが、設定している範囲を使用していません。値 1、10、および 100 ではエラーは発生しません。それ以外の 1 桁または 2 桁の値では、エラーが発生します。ただし、ゼロをパディングすると、100 未満の値はすべて問題ありません。
モデル:
部分図:
作成されたマークアップ:
タイプが に設定されていることがわかります。text
に変更すると に変更TextBoxFor
されますが、それでも同じ動作が見られます。EditorFor
number
asp.net-mvc-3 - 文字列配列としてのフィールド名のリスト - LINQ 式
MVC および LINQ のエキスパートの皆様、こんにちは。
次のようなモデルがあります。
ご覧のとおり、式を受け取る GetFieldNames を呼び出して、式のメンバーを文字列配列として返します。最近読んだ本によると、エラーをフィールドにリンクする方法は、次のように文字列として渡すことです。
しかし、私は強く型付けされたかったので、私が書いた方法は次のとおりです。
現在の使用状況:
GetFieldNames(() => new[] { this.SomeString , this.SomeString2 });
出力:
{ "SomeString" , "SomeString2" }
これはうまくいきます。
問題は、次のように使用すると、エラーが発生することです (コンパイル時)。
GetFieldNames(() => new[] { this.SomeString , this.SomeInteger });
エラー:
No best type found for implicitly-typed array
私の希望する出力:
{ "SomeString" , "SomeInteger" }
int は複合型ではないため、オブジェクトの配列を渡すことができません。
int
andを使用して関数に式配列を渡すにはどうすればよいstring
ですか?
c# - クライアント検証は共有ホストでは機能しませんが、デバッグ時には機能します
モデルクラスに次のプロパティがありました。
マークアップ (カミソリ):
生成された HTML コードは次のとおりです。
ただし、公開された共有ホスト サイトで数字を 1 つだけ入力して別の入力ボックスをクリックしても、エラー メッセージは表示されません。Invalid social security number
Visual Studio 2012 (Chrome ブラウザー) を使用してデバッグすると、エラー メッセージが表示されます。問題の原因は何ですか?
更新: 私のローカル PC で生成された html コード (Visual Studio のデバッグ) は.
ローカル PC の html コードに が含まれているようですがclass="input-validation-error"
、これはホスト サイトには存在しませんか?