私の電話番号を検証しようとすると、誰も入力ボックスの中にランダムな文字を入力することはできません。私は邪魔にならず検証スクリプトを用意しています。これまでのところ私は、これは私のコントローラMVCでの検証の実装
[HttpPost]
public ActionResult UpdatePhoneNumber(string phoneNumber)
{
if (ModelState.IsValid)
{
return View();
}
}
である。これは、私の見解である
<form role="form" action="#">
@Html.AntiForgeryToken()
<div class="form-group">
<label class="control-label"><b>Phone Number</b></label>
@Html.TextBoxFor(model => model.SMSPhoneNumber, new {@class = "form-control", @placeholder = "Enter Phone Number", @id = "phoneNumber", Name = "phoneNumber", data_val_required = "Please enter a phone number"})
@Html.ValidationMessageFor(model => model.SMSPhoneNumber, null, new { @class = "text-danger" })
</div>
<button type="button" data-dismiss="modal" class="btn dark btn-outline"> Cancel</button>
<button type="button" data-toggle="modal" id="" class="btn green" onclick="javascript: updateDatabase();">Submit</button>
</form>
、
[RegularExpression(@"^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$", ErrorMessage = "Not a valid Phone number")]
[Display(Name = "Phone")]
public string SMSPhoneNumber;
または
[DataType(DataType.PhoneNumber)]
public string SMSPhoneNumber;
を私のモデル内のいくつかのことを試してみました検証はまだ機能していません。問題なの?
おかげ
も注意してくださいあなたは 'のonclick =" javascriptを持っている:updateDatabaseを(); 'これはあなたがAJAXを使用して提出することを示唆しています。この場合、コントローラに投稿する前に' .valid() 'をチェックすることによって、クライアント側の検証が正しく行われていなければクライアント側の検証はできません。 –
それも含めて質問してみることができます必要に応じてレビューと修正を行います。 –
編集しました。私が望むとおりにページを作成していますが、ここで問題となるのはそのすべての検証部分だけです。 – Draklin