如何使表单的名字输入字段不接受带有空格字符ds3.coalesce(1).write().mode("append").option("header","true").option("compression","none").csv(Directory+"OUTPUT.csv");
的空字符串
" "
型号:
<form asp-action="SaveRegistration" autocomplete="off">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="FirstName" class="control-label"></label>
<input asp-for="FirstName" class="form-control" />
<span asp-validation-for="FirstName" class="text-danger"></span>
</div>
使用public class ContactInfo
{
[Required(ErrorMessage = "This field is required")]
[StringLength(50)]
[DisplayName("First name")]
public string FirstName { get; set; }
}
属性,用户仍可以使用仅包含空格字符[Required]
的字符串提交
我知道这是一个简单的问题,但是我是ASP.NET MVC的新手
答案 0 :(得分:2)
用法:
[NotNullOrWhiteSpaceValidator]
public string FirstName { get; set; }
如何创建自己的属性:
using System;
using System.ComponentModel.DataAnnotations;
public class NotNullOrWhiteSpaceValidatorAttribute : ValidationAttribute
{
public NotNullOrWhiteSpaceValidatorAttribute() : base("Invalid Field") { }
public NotNullOrWhiteSpaceValidatorAttribute(string Message) : base(Message) { }
public override bool IsValid(object value)
{
if (value == null) return false;
if (string.IsNullOrWhiteSpace(value.ToString())) return false;
return true;
}
protected override ValidationResult IsValid(Object value, ValidationContext validationContext)
{
if (IsValid(value)) return ValidationResult.Success;
return new ValidationResult("Value cannot be empty or white space.");
}
}
这里还有很多:https://github.com/srkirkland/DataAnnotationsExtensions/tree/master/DataAnnotationsExtensions
答案 1 :(得分:0)
您始终可以使用regular expression。
例如:
[RegularExpression(@".*\S+.*$", ErrorMessage = "Field Cannot be Blank Or Whitespace"))]
public string FirstName { get; set; }
答案 2 :(得分:0)
答案 3 :(得分:0)
注意:这适用于.net MVC 4 +
内部实现了 AllowEmptyStrings [必需(ErrorMessage =“是必需的。”)] 。
如果允许使用空字符串,则此方法返回true;否则,此方法返回true。否则为假。此方法的默认值设置为false。所以不用担心!测试并验证是否相同。不允许使用单个或多个空字符串。如果未明确将其设为false,则请查看其是否有效。
FYR` {
public class RequiredAttribute : ValidationAttribute
{
//
// Summary:
// Initializes a new instance of the
System.ComponentModel.DataAnnotations.RequiredAttribute
// class.
public RequiredAttribute();
//
// Summary:
// Gets or sets a value that indicates whether an empty string is
// allowed.
//
// Returns:
// true if an empty string is allowed; otherwise, false. The default
// value is false.
public bool AllowEmptyStrings { get; set; }
//
// Summary:
// Checks that the value of the required data field is not empty.
//
// Parameters:
// value:
// The data field value to validate.
//
// Returns:
// true if validation is successful; otherwise, false.
//
// Exceptions:
// T:System.ComponentModel.DataAnnotations.ValidationException:
// The data field value was null.
public override bool IsValid(object value);
}
}`
答案 4 :(得分:0)
默认行为是拒绝空字符串。您可以通过将AllowEmptyStrings
设置为true
docs
[Required(ErrorMessage = "This field is required")]