加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 如何实现MVC3模型URL验证?

发布时间:2020-12-16 03:58:32 所属栏目:asp.Net 来源:网络整理
导读:我已经成功实现了客户端验证,要求在我的文本框中输入.但是,我想评估文本框的内容,看它是否是格式良好的URL.这是我到目前为止所拥有的: Index.cshtml: script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.5.1.js")"/scriptscript type="
我已经成功实现了客户端验证,要求在我的文本框中输入.但是,我想评估文本框的内容,看它是否是格式良好的URL.这是我到目前为止所拥有的:
Index.cshtml:

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.5.1.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.validate.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>
@model Ticket911.Models.ValidationModel                          
@{
ViewBag.Title = "Home Page";
}

<h2>@ViewBag.Message</h2>
@using (Ajax.BeginForm("Form",new AjaxOptions() { UpdateTargetId = "FormContainer",OnSuccess = "$.validator.unobtrusive.parse('form');" }))

{
<p>
    Error Message: @Html.ValidationMessageFor(m => m.URL)
</p>
<p>
@Html.LabelFor(m =>m.URL):
@Html.EditorFor(m => m.URL)
</p>
<input type="submit" value="Submit" />

ValidationModel:

public class ValidURLAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        return (value != null);
    }
}

public class ValidationModel
{
    [Required]
    public string URL {get; set;}
}

如何确保进行模型URL验证?单击“提交”按钮时,必须执行哪些操作才能导航到输入到文本框中的URL?

非常感谢:)

解决方法

好方法是在mvc项目中实现您的属性以供下次使用.像这样:

public class UrlAttribute : RegularExpressionAttribute
{
    public UrlAttribute() : base(@"^http(s?)://[0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*(:(0-9)*)*(/?)([a-zA-Z0-9-.?,'/+&amp;%$#_]*)?$")
    {}
}

所以在模型上:

[Url(ErrorMessage = "URL format is wrong!")]
public string BlogAddress { get; set; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读