gpt4 book ai didi

c# - 空字符串的表单验证

转载 作者:行者123 更新时间:2023-12-05 08:54:01 28 4
gpt4 key购买 nike

如何使表单名字输入字段不接受带有空格字符的空字符串 ""

    <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 的新手

最佳答案

用法:

[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

关于c# - 空字符串的表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51552487/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com