使字段不需要基于下拉列表选择MVC 5
Make field not required based to dropdown list selection MVC 5
在我的MVC 5应用程序中,我有一个下拉列表和一些需要的字段。当下拉选择改变时,我需要改变字段的这个属性。
我有这个enum
public enum OrderKind
{
Market,
Research,
}
,我从中填充下拉列表。我使用javascript来显示或隐藏工作字段。
是
$(function () {
$('#orderkind').change(function () {
var value = $(this).val();
if (value == "Market") {
$(datefrom).hide();
$(datefrom).hide();
$("#fromDate").attr("required", false);
$("#toDate").attr("required", false);
else if (value == "Research") {
$(datefrom).show();
$(datefrom).show();
$("#fromDate").attr("required", true);
$("#toDate").attr("required", true);
fromDate.setCustomValidity('Please Fill the date from field');
toDate.setCustomValidity('Please Fill the date to field');
}
,但它使日期字段总是必需的,即使它们被填充,它也会显示消息。有没有办法从控制器中检查下拉列表值?谢谢你!
我想你应该把enum改成
public enum OrderKind
{
Market = 1,
Research = 2,
}
然后,将值绑定到您的下拉列表中,并将add external (default)
值绑定到它。
给你的表单一个id
using (Html.BeginForm(null, null, FormMethod.Post, new { id = "formID" }))
{ }
在Jquery $("#formID").submit(function(e){
//your checking
//you can prevent form submission here like
e.preventdefault()
//and you can show validation error for dropdown list or show as alert
});
你可以在Jquery中像这样设置验证错误
试试这段代码,希望对你有所帮助
$(function () {
$('#orderkind').change(function () {
var value = $(this).val();
if (value == "Market") {
$(datefrom).hide();
$(datefrom).hide();
$("#fromDate").removeAttr('required');
$("#toDate").removeAttr('required');
else if (value == "Research") {
$(datefrom).show();
$(datefrom).show();
$("#fromDate").attr('required', 'required');
$("#toDate").attr('required', 'required');
fromDate.setCustomValidity('Please Fill the date from field');
toDate.setCustomValidity('Please Fill the date to field');
}
});
- 在带有 bootbox 的自定义对话框中添加选项以选择表单控件.js在 ASP.NET MVC 中
- Grid.MVC 禁用嵌入按钮的行选择
- 使用peta poco ORM在MVC应用程序中创建选择列表
- 在mvc上使用日期选择器不起作用
- 基于下拉选择显示/隐藏控件mvc 4 razor c#
- MVC中选择下拉列表的设置值出现问题
- jQuery日期选择器在Firefox和IE的MVC部分视图上进行ajax更新后无法工作
- Treeview | Telerik MVC中的递归复选框选择
- ASP.NET MVC 5@Html.EditorFor和javascript日期选择器
- AngularJS vs MVC控制器选择什么
- 在asp.net mvc中,从第二下拉列表中选择值后,第二下拉菜单不显示
- 选择一个MVC框架(Javascript - 前端) - Backbone,Angular,Ember
- Javascript 日期选择器视图格式 asp.net MVC
- MVC / 引导 - 组中的单选按钮在初始化时未选择
- 春季MVC优化了选择后的下拉列表
- 使用 jQuery 在 MVC 中隐藏或显示基于 DDL 选择的表单控件
- 使用 KODataTable MVC 选择表中的项目时触发控制器操作
- 选择2 在 MVC 中设置多选值
- 使字段不需要基于下拉列表选择MVC 5
- 使用KnockoutJS的项目选择MVC视图