0

我有一个文本区域,我想将其设置为必需。我正在尝试使用 fluentvalidation 中的规则,但仍然没有发生任何事情。

我也尝试过使用 [必需] 等。有人可以帮我解决这个问题吗?

这是我的代码:

模型:

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

看法:

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

2 回答 2

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>
于 2013-10-04T08:45:32.517 回答
0

我正在使用 FluentValidation.AspNetCore 8.1.3

我有同样的问题,我以这种方式解决了:

验证器

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>

于 2019-02-24T23:46:11.697 回答