电话号码validationMVC
我正在尝试使用正则表达式来validation电话号码,并在提交无效的号码或电话号码时返回错误。
MVC代码 :
- Phone Number:
- @Html.TextBoxFor(model => model.PhoneNumber, new { @class = "textbox" }) @Html.ValidationMessageFor(model => model.PhoneNumber)
C#代码 :
[DataType(DataType.PhoneNumber)] [Display(Name = "Phone Number")] [Required(ErrorMessage = "Phone Number Required!")] [RegularExpression(@"^(?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Entered phone format is not valid.")] public string PhoneNumber { get; set; }
但是,输入框不会向用户显示消息,表明提交的电话号码无效。
模型
[Required(ErrorMessage = "You must provide a phone number")] [Display(Name = "Home Phone")] [DataType(DataType.PhoneNumber)] [RegularExpression(@"^(?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Not a valid phone number")] public string PhoneNumber { get; set; }
视图:
@Html.LabelFor(model => model.PhoneNumber) @Html.EditorFor(model => model.PhoneNumber) @Html.ValidationMessageFor(model => model.PhoneNumber)
您在页面上没有validation器。 添加这样的内容以显示validation消息。
@Html.ValidationMessageFor(model => model.PhoneNumber, "", new { @class = "text-danger" })
尝试使用Mobile No的简单正则表达式
[Required (ErrorMessage="Required")] [RegularExpression(@"^(d{10})$", ErrorMessage = "Wrong mobile")] public string Mobile { get; set; }
与上述答案一起尝试以最小和最大长度:
在模型中
[StringLength(13, MinimumLength=10)] public string MobileNo { get; set; }
在视野中
@Html.TextBoxFor(m => m.MobileNo, new { @class = "form-control" , type="phone"}) @Html.ValidationMessageFor(m => m.MobileNo,"Invalid Number") @Html.CheckBoxFor(m => m.IsAgreeTerms, new {@checked="checked",style="display:none" })
要使用(###)### – ####格式显示电话号码,您可以创建新的HtmlHelper。
用法
@Html.DisplayForPhone(item.Phone)
HtmlHelper扩展
public static class HtmlHelperExtensions { public static HtmlString DisplayForPhone(this HtmlHelper helper, string phone) { if (phone == null) { return new HtmlString(string.Empty); } string formatted = phone; if (phone.Length == 10) { formatted = $"({phone.Substring(0,3)}) {phone.Substring(3,3)}-{phone.Substring(6,4)}"; } else if (phone.Length == 7) { formatted = $"{phone.Substring(0,3)}-{phone.Substring(3,4)}"; } string s = $"{formatted}"; return new HtmlString(s); } }
试试这个:
[DataType(DataType.PhoneNumber, ErrorMessage = "Provided phone number not valid")]
或者您可以使用JQuery – 只需将输入字段添加到“phone”类中,并将其放在脚本部分中:
$(".phone").keyup(function () { $(this).val($(this).val().replace(/^(d{3})(d{3})(d)+$/, "($1)$2-$3"));
没有错误消息,但在输入所有十位数字之前,您可以看到电话号码格式不正确。
上述就是C#学习教程:电话号码validationMVC分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000160.html