これは、まさにこの問題を持っている人以外のためである私は上のボタンをクリックして送信すると、間違った値がデータベースに
マイビューのコードを追加しています。 .. デベロッパーに基づくコメント: HTML5 <textarea>
要素はパターン属性をサポートしていません
したがって、solutio nは(jquery.validate.js
付き)検証に建てMVCであるとjquery.validate.unobtrusive.js
)
だから、この問題があることを私のモデルを変更することで解決:
[StringLength(150)]
[RegularExpression("^[0-9]*$", ErrorMessage = "UPRN must be numeric")]
public string Item{ get; set; }
とも私のビューまたは部分図でjquery.validate.js
が含まれます
鉱石は単にテキストエリアの代わりにテキストボックスに私のhtmlヘルパーを変更します:
@Html.EditorFor(model => model.Item, new { htmlAttributes = new { @class = "form-control english_only", @placeholder = "Only english text", @required = "required", @Pattern = @"^[[email protected]$!%*?&#^-_. +]+$", @title = "please insert english text only", @autocomplete= "off", @maxlength = "120" } })
なぜあなたはHTML-5検証属性を使用していますか( 'jquery.validate.js 'と' jquery.validate.unobtrusive.js'を使用して)MVC組み込み検証の代わりに? –
'jQuery'には経験は必要ありません。ビューやレイアウトに2つのスクリプトを追加し、検証属性を追加するだけです。 HTML-5の検証はクライアント側のみであり、サーバー側の検証を行うためにコードを書く必要があります。そしてあなたの意味は何ですか?MVCのパターンは何ですか?それはまさにあなたがしていないことです。 –
[Validationの追加](https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction)をお読みください。/added-validation) –