我有一个同时具有html控件和asp控件的服务器端表单,我使用oninvalid属性来调用setCustomValidity,如下所示:
<form class="uk-form-stacked" id="wizard_advanced_form" runat="server">
<div class="uk-grid">
<div class="uk-width-medium-1-2 parsley-row">
<label for="lstNationalIDType">نوع الوثيقة</label>
<select id="lstNationalIDType" required runat="server" oninvalid="this.setCustomValidity('تاكد من اختيار نوع الوثيقة')" oninput="setCustomValidity('')" class="md-input" tabindex="1">
<option value=""></option>
</select>
</div>
<div class="uk-width-medium-1-2 parsley-row">
<label for="txtNationalID">رقم الوثيقة<span class="req">*</span></label>
<asp:TextBox ID="txtNationalID" class="md-input" oninvalid="this.setCustomValidity('تاكد من ادخال رقم الوثيقة')" oninput="setCustomValidity('')" runat="server" tabindex="2" MaxLength="10"></asp:TextBox>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-1-1">
<button type="submit" id="btnAdd" runat="server" class="md-btn md-btn-primary" onserverclick="btnAdd_ServerClick">حفظ</button>
</div>
</div>
</form>
当我单击“保存”按钮并且选择框或“文本框”为空时,将显示验证消息,但会触发按钮事件并使用空值保存数据。
那么,当出现验证消息时,如何防止按钮服务器端事件?
答案 0 :(得分:0)
尝试使用Page.IsValid
if (!Page.IsValid)
return;
}
else{
//Do save action
}
答案 1 :(得分:0)
我更改了以下内容:
<button type="submit" id="btnAdd" runat="server" class="md-btn md-btn-primary" onserverclick="btnAdd_ServerClick">حفظ</button>
到以下:
<asp:Button ID="btnAdd" runat="server" Text="Button" CssClass="md-btn md-btn-primary" OnClick="btnAdd_ServerClick" />