jQueryを使用してMVCフォームのフォーム要素を検証しています。これは、郵便番号を検証するための正規表現です。
^(\d{5})|(\d{5}-\d{4})$
5桁の郵便番号は問題なく検証されますが、ハイフンとさらに4桁を追加すると、テキストボックスの入力要素の周りの赤いボックスが残ります。
なんで?
jQueryを使用してMVCフォームのフォーム要素を検証しています。これは、郵便番号を検証するための正規表現です。
^(\d{5})|(\d{5}-\d{4})$
5桁の郵便番号は問題なく検証されますが、ハイフンとさらに4桁を追加すると、テキストボックスの入力要素の周りの赤いボックスが残ります。
なんで?
次のRegRxpでは角かっこが間違っています。
^(\d{5})|(\d{5}-\d{4})$
これは、match^\d\d\d\d\d
またはmatchと言っているようなもの\d\d\d\d\d-\d\d\d\d$
です。とは正しく一致12345x
しませんx98765-4321
。代わりに以下を使用してください。
^(\d{5}|\d{5}-\d{4})$
生成されたHTMLを詳しく見ると、data-val-length-max="9"であることがわかりました。これはモデルの属性です。10に変更しました。
検証が正しく機能し、フォーマットされていない数字をデータベースに渡すことができるようにするには、モデルのゲッターからこれを返します。
_zip.Replace("-", string.Empty)