We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

Validation not firing when pressing save in batch mode

Thread ID:

Created:

Updated:

Platform:

Replies:

118208 Feb 11,2015 06:47 AM Feb 12,2015 08:21 AM ASP.NET MVC 1
loading
Tags: Grid
Paul Pitchford
Asked On February 11, 2015 06:47 AM

@model IEnumerable<SyncfusionMvcApplication4.Models.Game>

@section scripts {
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
}

<h2>Games</h2>

@(Html.EJ().Grid<SyncfusionMvcApplication4.Models.Game>("Editing")
        .Datasource(ds => ds.Json((IEnumerable<object>)Model).BatchURL("/Games/Update").Adaptor(AdaptorType.RemoteSaveAdaptor))
            .EditSettings(edit =>
            {
                edit.AllowAdding().AllowDeleting().AllowEditing().EditMode(EditMode.Batch).FormPosition(FormPosition.BottomLeft);
            })
        .ToolbarSettings(toolbar =>
        {
            toolbar.ShowToolbar().ToolbarItems(items =>
            {
                items.AddTool(ToolBarItems.Add);
                items.AddTool(ToolBarItems.Edit);
                items.AddTool(ToolBarItems.Delete);
                items.AddTool(ToolBarItems.Update);
                items.AddTool(ToolBarItems.Cancel);
            });
        })
        .AllowPaging()
        .Columns(col =>
        {
            col.Field("Id").HeaderText("Id").IsPrimaryKey(true).TextAlign(TextAlign.Right).Width(90).IsIdentity(true).Visible(false).Add();
            col.Field("GameDescription").HeaderText("Game").TextAlign(TextAlign.Left).Width(90).ValidationRules(v => v.AddRule("required", true)).Add();
            col.Field("GameDate").HeaderText("Date").Format("{0:dd/MM/yyyy HH:mm}").EditType(EditingType.DateTimePicker).TextAlign(TextAlign.Left).Width(90).ValidationRules(v => v.AddRule("required", true)).Add();
            col.Field("GameTypeId").HeaderText("Game Type").ForeignKeyField("Id").ForeignKeyValue("GameTypeName").DataSource((IEnumerable<object>)ViewBag.gameTypes).Width(75).ValidationRules(v => v.AddRule("required", true)).Add();
        })
)

The above is code I am using for a grid which works just fine in batch mode.  However, if I add a new row and click save immediately validation does not fire and the empty model passes to my controller which obviously requires work in the background to handle the error. Ideally I'd like the validation methods to take care of this on the client side. Why wouldn't my validation rules be triggering here when save is pressed?

FYI, I have <add key="UnobtrusiveJavaScriptEnabled" value="false" /> in my web.config.

Madhu Sudhanan P [Syncfusion]
Replied On February 12, 2015 08:21 AM

Hi Paul,

Thanks for using Syncfusion products.

Query: “Why wouldn't my validation rules be triggering here when save is pressed?”

We have analyzed the reported query and suspect that the validation is not triggered due to default values in the added row (For number-0, string- “” will be added by default). By default, the added row will contain default values for batch editing. And it is advisable to use batch add but we can provide the default value to column with the “DefaultValue” property of the columns.

@(Html.EJ().Grid<object>("Grid")

. . . .

    .Columns(col =>

        {

  col.Field("OrderID").HeaderText("Order ID").DefaultValue(100).IsPrimaryKey(true) Add();

            col.Field("CustomerID").HeaderText("Customer ID").DefaultValue("ASK").Width(80).Add();          

        })

The above DefaultValue property can be used to provide the default values to the column while normal/dialog editing.

Please let us know if you have any queries or we misunderstood your requirement.

Regards,

Madhu Sudhanan. P



CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;