我在MVC中使用UrlAttribute
但它不接受localhost网址,例如http:// localhost/GCWeb
[Url(ErrorMessage = "please_enter_valid_ftp_url", ErrorMessage = null)]
public string Url { get; set; }
Run Code Online (Sandbox Code Playgroud)
这会验证网址,但不会验证localhost网址.
我怎样才能做到这一点?
小智 5
我还建议创建一个自定义验证器属性类。但我想使用 System.Uri 类来验证而不是自定义个人正则表达式。
public class UriAttribute: ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
Uri uri;
bool valid = Uri.TryCreate(Convert.ToString(value), UriKind.Absolute, out uri);
if (!valid)
{
return new ValidationResult(ErrorMessage);
}
return ValidationResult.Success;
}
}
Run Code Online (Sandbox Code Playgroud)
通过使用 System.Uri 类,我们可以排除自己的正则表达式出错的机会。
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |