0

asp.net mvc3 ビューには、入力のあるフォームがあります。入力には数値範囲の正規表現があります。正規表現は正しいですが、検証は常に無効として返されます。ここで何が欠けているのかわかりません。これがレンダリングされた要素です。実行時にページがロードされた後、DOM に追加されます。

<input 
 id="ReserveQuantity" 
 class="text-box single-line" 
 type="text" 
 name="ReserveQuantity" 
 data-val="true" 
 data-val-required="required." 
 data-val-number="numeric" 
 data-val-regex-pattern="/^(?:[0-9]|[1-9][0-9]|10[0-4])$/" 
 data-val-regex="The field must be in range 0 to 104."
>

これを適切に検証するには何が欠けていますか? これを動的にレンダリングするときに jquery バリデーターへの呼び出しを逃しましたか、それとも別の問題ですか?

4

1 に答える 1

1

正規表現が適切に検証されず、まだ説明を受け付けていない理由がわからない! 正規表現は正しく形成されており、適切に検証されなかったいくつかの異なるシナリオを試してみました. 見事に書かたブログ投稿を発見するまで途方に暮れていました: http://xhalent.wordpress.com/2011/01/21/arbitrary-client-side-validation-in-asp-net-mvc-3/

その結果、次の変更を行いました。

data-val-regex-pattern="/^(?:[0-9]|[1-9][0-9]|10[0-4])$/" 
data-val-regex="The field must be in range 0 to 104."

なりました

data-val-range="The field must be in range 0 to 104." 
data-val-range-min="0" 
data-val-range-max="104"

魅力のように機能します。

于 2012-08-09T19:41:19.047 に答える