【问题标题】:Set a text area to required field将文本区域设置为必填字段
【发布时间】:2019-02-25 07:46:11
【问题描述】:
我有一个文本区域,我想将其设置为必需。我正在尝试使用 fluentvalidation 中的规则,但仍然没有发生任何事情。
我也尝试过使用 [required] 等。有人可以帮我解决这个问题吗?
这是我的代码:
型号:
public class MainValidator : AbstractValidator<Main>
{
public MainValidator()
{
RuleFor(x => x.Message).NotEmpty().WithMessage("Required field");
}
}
查看:
<textarea id="message" name="message"></textarea>
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc
fluentvalidation
【解决方案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>
【解决方案2】:
我正在使用 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>