[英]Textbox Validation Works according to dropdown value
我有一个下拉菜单,其中有3个可用选项:
我希望如果用户选择“其他”选项,则注释文本框为必填项,否则注释文本框不是必填项,
这是我在View模型中的验证代码
[Required(ErrorMessage="Please Enter Comment")]
public string Comment { get; set; }
这是我的下拉菜单和验证代码
@Html.DropDownList("Reason", new List<SelectListItem>()
{
new SelectListItem() { Text= "Event Cancelled", Value = "Cancelled" },
new SelectListItem() { Text= "Event PostPoned", Value = "PostPoned" },
new SelectListItem() { Text= "Other", Value = "Other" }
}, "--Select Cancellation Reason --", new { @class = "form-control"})
@Html.ValidationMessageFor(model => model.Reason, "", new { @class = "text-danger" })
仅当选择其他时,如何使评论变为强制性?
您可以在post方法中进行此操作(如果需要)
Public ActionResult AssumeThisAsYourPostMethod(YourModel modelObject)
{
if(modelObject.Reason=="Other" && String.IsNullOrEmpty(modelObject.Comment) )
{
ModelState.AddModelError("Comment","Your Validation Message");
return View("YourViewName");
}
}
在更改事件上使用jQuery,如果select的值为“ Other”,则将必需的属性添加到注释框。
$("body").on('change', "#Reason", function () {
var Reason= $(this).val().trim() ;
if (Reason == 'Other')
{
$("input[name = Comment]").prop('required',true);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.