Validation 如何在jquery中为输入字段设置所需的验证器?
我有一个页面,在更新面板中放置了一个GridView。GridView中的每一行都有一个更新按钮,单击时会弹出一个模式对话框,您可以在其中编辑相应的行,并通过web服务调用将记录保存到数据库中。以下是aspx和jquery代码。我的问题是我想让txtName和txtDescription成为必需的。如您所见,模态对话框中的Save按钮是在jquery函数中创建的。我应该如何向这些字段添加必需的字段验证器?当用户单击保存按钮时,如果txtName或txtDescription为空,则会在其旁边显示一个带有文本“required!”的红色标签,焦点将设置为第一个空字段Validation 如何在jquery中为输入字段设置所需的验证器?,validation,input,Validation,Input,我有一个页面,在更新面板中放置了一个GridView。GridView中的每一行都有一个更新按钮,单击时会弹出一个模式对话框,您可以在其中编辑相应的行,并通过web服务调用将记录保存到数据库中。以下是aspx和jquery代码。我的问题是我想让txtName和txtDescription成为必需的。如您所见,模态对话框中的Save按钮是在jquery函数中创建的。我应该如何向这些字段添加必需的字段验证器?当用户单击保存按钮时,如果txtName或txtDescription为空,则会在其旁边显示
<div id="dvMainContainer">
<asp:UpdatePanel ID="upMainPanel" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<table summary="content" id="Table3">
<tr>
<td>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="false" AutoGenerateColumns="False" PageSize="20"
onpageindexchanging="GridView1_PageIndexChanging">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<div><input type="button" value="update" /></div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>Vendor<br />
<asp:DropDownList ID="ddlVendor" runat="server" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="OnVendorChanged">
<asp:ListItem Text="- Select a Vendor -" Value=""></asp:ListItem>
</asp:DropDownList>
</HeaderTemplate>
<ItemTemplate><%#Eval("Vendor") %></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name" >
<ItemTemplate><%#Eval("Name")%></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description" >
<ItemTemplate><%#Eval("Description")%></ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="dvUpdatePrompt" style="display: none;" runat="server">
<table>
<tr>
<td>Vendor:</td>
<td><select name="VendorList" id="VendorList"></select></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" id="txtName"/></td>
</tr>
<tr>
<td>Description:</td>
<td><input type="text" id="txtDescription"/></td>
</tr>
</table>
</div>
this.BindEvents = function () {
var myself = this;
$(myself.get_element()).find("input[value='update']").each(
function () {
var input = $(this);
if (input.closest('tr').find('td')[1].innerText.replace(' ', '') != '') {
input.click(
function () {
myself.UpdateButtonClicked(this);
}
);
}
else {
input.attr('disabled', 'disabled');
}
}
);
}
this.UpdateButtonClicked = function (button) {
var myself = this;
var btns = {};
var Vendor = "";
var Name = "";
var Description = "";
…
btns["Save"] = function () {
myself.UpdateVendor(button);
};
btns["Cancel"] = function () { $("#dvUpdatePrompt").dialog('close'); };
…
$("#dvUpdatePrompt").dialog({
modal: true,
buttons: btns,
width: 500,
height: 300
});
}
this.UpdateVendor = function (button) {
var myself = this;
…
var parmIn = "…";
myself.Utilities.CallWebService('WebService.asmx/UpateVendor', parmIn,
function (result) {
$("#dvUpdatePrompt").dialog('close');
...
}
);
}
添加
class=“必需”
?怎么样required=“true”
?如果您正在使用,情况就是这样。我尝试了required=“true”,它显示了一个错误,说required不是输入的有效属性。那么class=“required”
呢?然后,您可以添加一个小例程,该例程对该类的任何内容进行迭代,以查看该类是否有值或是否为空。它也不起作用
$("#txtName").blur(function () {
if (!$(this).val()) {
$(this).parents('p').addClass('warning');
}
});