DevExpress การใช้ custom validation โดยกดปุ่ม aspxbutton แล้วสั่งให้ client validation

โดยปกติแล้ว เราสามารถใช้ validation ของ tools DevExpress แต่ละ control ที่เลือกได้ แต่บางกรณีเราอาจจะไม่สามารถใช้ได้ เช่นต้องเลือกอันนี้ก่อน แล้วค่อยไปตรวจสอบ แบบนี้ต้องใช้ custom validation ดังภาพตัวอย่าง

จากภาพด้านบน ตรงปุ่มกดเราก็ใส่ <ClientSideEvents Click=”OnValidation” /> ลงไปดังโค้ด

<dx:ASPxButton Theme=”SoftOrange” CssClass=”btn” AutoPostBack=”false” OnClick=”btnSubmit_Click” Width=”200px” ID=”btnSubmit” runat=”server” Text=”บันทึก” CausesValidation=”True”>
<ClientSideEvents Click=”OnValidation” />
</dx:ASPxButton>

แล้วพวก aspxcombobox

<!—Input Data–>
<div class=”form-group has-success”>
<label class=”control-label” for=”inputSuccess”><i class=”fa fa-check”></i> วันที่เริ่มต้น (ตามใบสัญญารับทุน):</label>
<br />

<dx:ASPxDateEdit ClientInstanceName=”project_start_quata” CssClass=”form-control” ID=”project_start_quata” EditFormatString=”dd/MM/yyyy” DisplayFormatString=”dd/MM/yyyy” runat=”server”>
<ValidationSettings ValidateOnLeave=”False” EnableCustomValidation=”True”>
</ValidationSettings>
</dx:ASPxDateEdit>
</div>
<!—Close Input Data–>

ตรง java script ประกาศไว้ด้านบน

<script type=”text/javascript”>
function OnValidation(s, e) {
var cb_project_status = cb.GetText();
var dt1 = project_start_quata.GetText();
var dt2 = project_end_quata.GetText();
var dt3 = project_finish_date.GetText();
console.log(cb_project_status);
if (cb_project_status == “กำลังดำเนินการ”) {
if (dt1 == “”) {
project_start_quata.SetIsValid(false);
project_start_quata.SetErrorText(‘กรุณากรอก วันที่เริ่มต้น (ตามใบสัญญารับทุน)’);
}
if (dt2 == “”) {
project_end_quata.SetIsValid(false);
project_end_quata.SetErrorText(‘กรุณากรอก วันที่สิ้นสุด (ตามใบสัญญารับทุน)’);
}
}
else {

if (dt1 == “”) {
project_start_quata.SetIsValid(false);
project_start_quata.SetErrorText(‘กรุณากรอก วันที่เริ่มต้น (ตามใบสัญญารับทุน)’);
}
if (dt2 == “”) {
project_end_quata.SetIsValid(false);
project_end_quata.SetErrorText(‘กรุณากรอก วันที่สิ้นสุด (ตามใบสัญญารับทุน)’);
}
if (dt3 == “”) {
project_finish_date.SetIsValid(false);
project_finish_date.SetErrorText(‘กรุณากรอก วันที่ดำเนินการแล้วเสร็จ’);
}

}

}

</script>

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.