簡體   English   中英

在MVC Gridview中驗證日期

[英]Validation of Date in MVC Gridview

我有以下gridview代碼,我正在嘗試對日期進行一些基本驗證。 如您所見,我有一個開始日期和結束日期,我需要對其進行驗證,以便StartDate <= EndDate。 有沒有簡單的方法可以將此驗證添加到下面的代碼中?

Html.DevExpress().GridView(settings =>
{
    settings.Name = "gvActiveScheduledAnnouncements";
    settings.Width = Unit.Percentage(100);
    settings.KeyFieldName = "AnnouncementId";

    settings.CallbackRouteValues = new { Controller = "Home", Action = "ActiveScheduledAnnouncementsPartial" };

    settings.SettingsEditing.Mode = GridViewEditingMode.EditForm;

    settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "Home", Action = "AddNewAnnouncement" };
    settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "Home", Action = "UpdateActiveScheduledAnnouncement" };
    settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "Home", Action = "DeleteActiveScheduledAnnouncement" };

    settings.Columns.Add(c =>
    {
        c.Caption = "Announcement Text";
        c.FieldName = "Text";

        c.ColumnType = MVCxGridViewColumnType.Memo;
        c.EditFormSettings.ColumnSpan = 2;

        c.ColumnType = MVCxGridViewColumnType.Memo;
        var memo = c.PropertiesEdit as MemoProperties;
        memo.Rows = 3;
    });

    settings.Columns.Add(c =>
    {
        c.Caption = "Start Date";
        c.FieldName = "StartDate";


        c.ColumnType = MVCxGridViewColumnType.DateEdit;
    });

    settings.Columns.Add(c =>
    {
        c.Caption = "End Date";
        c.FieldName = "EndDate";

        c.ColumnType = MVCxGridViewColumnType.DateEdit;
    });

    settings.Columns.Add(c =>
    {
        c.Caption = "Display Status";
        c.FieldName = "DisplayStatus";

        c.EditFormSettings.Visible = DefaultBoolean.False;
    });
})
.Bind(Model)
.Render();

可以使用原始數據從控制器進行驗證,也可以使用razor或js從視圖進行驗證。

我建議您在驅動程序中進行操作,因此只需在視圖中進行渲染即可。

一種方法是啟用自定義驗證設置。 以下鏈接是一種實現方法: 鏈接

另一種方法是在編輯過程中通過jQuery或JavaScript手動檢查該字段。 通過以上兩種方法,只需注意編輯過程何時開始,然后通過jQuery查找要注意的控件即可。 在單擊保存時(甚至添加第二個日期(開始或結束)時)檢查其值,並在無效時提醒用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM