将文本区域设置为必填字段

时间:2013-10-04 08:33:30

标签: c# asp.net asp.net-mvc fluentvalidation

我有一个textarea,我想将其设置为必需。我试图从流畅的验证中使用规则但仍未发生某些事情。

我也尝试使用[必需]等等。有人可以帮我一个忙吗?

这是我的代码:

型号:

public class MainValidator : AbstractValidator<Main>
{
    public MainValidator()
    {
        RuleFor(x => x.Message).NotEmpty().WithMessage("Required field");
    }
}

查看:

<textarea id="message" name="message"></textarea>

2 个答案:

答案 0 :(得分:1)

尝试以下方法。服务器端:

RuleFor(x => x.Message).NotNull().WithMessage("Required field");

我无法找到easyli因为我认为RuleFor方法的来源,所以你可以试试这个:

RuleFor(x => x.Message).NotEmpty().NotNull().WithMessage("Required field");

此外,客户端:

<textarea required id="message" name="message"></textarea>

答案 1 :(得分:0)

我正在使用FluentValidation.AspNetCore 8.1.3

我遇到了同样的问题,并且通过以下方式解决了问题:

Validator

public ContactValidator(){ 
    RuleFor(x => x.Message).NotEmpty().WithMessage("Message Required").Length(10, 400).WithMessage("Message must be between 10 and 400 characters");
}

型号

public class ContactViewModel
{
    [DataType(DataType.MultilineText)]//<-- Add this line to work
    public string Message { get; set; }
}

查看

<div class="col-md-12 col-sm-12">
<textarea asp-for="Message" name="Message" class="form-control" placeholder="Message"></textarea>
<span asp-validation-for="Message" class="text-danger"></span>
</div>