验证mvc3 razor中的任何一个或动态文本框?

时间:2013-08-14 08:12:43

标签: asp.net-mvc asp.net-mvc-3 razor jquery-validate

当我选择下拉值时,我有一个表单加载局部视图。这里,partialview加载两个具有不同ID值的动态文本框。

@model List<DataBaseModel.OrderQuoteTBvalues>
@{
    ViewBag.Title = "_ingroundDynamic";
}

@if (Model.Count() > 0)
{
    <table>
        <tr>
            <td valign="top">
                <div>
                    <table border="0" cellpadding="3" cellspacing="3" width="20%">
                        <tr style="background-color: #808080; color: #fff; font-size: 14px;">
                            <th align="left" width="100px">Pool Shape Type</th>
                            <th align="center" width="20px">Feet<br>
                                <th align="left" width="20px">Inch</th>
                        </tr>

                        @foreach (var item in Model)
                        {
                            <tr>
                                <td>@item.Shape_type</td>
                                <td>
                                  <input style="width: 100px;" type="text" onkeydown="Integerkeydown(event)" id="PF:@item.Shape_type" name="PF:@item.Shape_type" /></td>

                                <td>
                                    <input style="width: 100px;" type="text" onkeydown="Numerickeydown(event)" onchange="PIChange(this)" id="PI:@item.Shape_type" name="PI:@item.Shape_type" maxlength="4" /></td>
                            </tr>

                       }
}

这里的模型如下:

 public class OrderQuoteTBvalues
            {
                public string Shape_type { get; set; }
            }

之后我将下一个按钮放在了提交上。如果我单击下一步按钮意味着我需要验证,或者文本框包含值。如果它包含值,则验证为true,否则为false。 如何实现这一目标。需要编写任何自定义验证方法?..如果我给class =“required”表示所有文本框都经过验证。但我需要或者文本框得到验证。请帮我解决这个问题。非常感谢你。

3 个答案:

答案 0 :(得分:1)

尝试以下Jquery

 $("#validate").live({ 
        click: function() {

       var rows = $("#your_table tr:gt(0)"); // your_table is id of you table---gt(0) to skip first row
       var i=true;

                rows.each(function(index) {
        var firsttext = $("td:nth-child(1) input", this).val();
        var secondtext = $("td:nth-child(2) input", this).val();
                   if(firsttext=="" && secondtext=="")
                       i=false;
            });
   if(i==true)
      alert('Valid'); 
            else
                alert("Invalid")
        }
    });

根据您的订单,孩子会有所不同 如果不理解,希望有助于发表评论

答案 1 :(得分:0)

$("#btnNext").click( function() {
var valid = false;

   if($("#table tr").length > 0) {

    var textbox1 = $("table tr td:nth-child(1) input", this).val();
    var textbox2 = $("table tr td:nth-child(2) input", this).val();

    if(textbox1=="" && textbox2==""){
      valid = false;
     }
    else if(textbox1 != "" && textbox2 != "") {
     valid = false;
    }
    else {
     valid = true;
     }
  }

});

答案 2 :(得分:0)

enter image description here

输出将像这样的朋友。