[英]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.