Mar 26, 2014, 1:56 AM
[CLOSED] Trying to validate Grid panel w/ editor, component columns, and input masks
Hello, I'm trying to validate some editable cells in a grid panel and it is not working. I have two columns, TimeIn and TimeOut, and want to be sure that TimeIn <= TimeOut.
I am trying to use the ValidateEdit event:
Thanks,
Amit
I am trying to use the ValidateEdit event:
Html.X().Column()
.Text("Friday")
.Flex(1)
.Columns(
Html.X().ComponentColumn()
.Editor(true)
.DataIndex("FridayAttend")
.Width(60)
.Text("Attended")
.Listeners(ls =>
{
ls.BeforeBind.Handler = "if (e.record.get('Friday') == '') e.config[0].disabled = true";
})
.Component(Html.X().Checkbox()),
Html.X().ComponentColumn()
.Editor(true)
.DataIndex("FridayIn")
.Width(60)
.Text("In")
.Listeners(ls =>
{
ls.BeforeBind.Handler = "if (e.record.get('Friday') == '') e.config[0].disabled = true";
})
.Component(
Html.X().TextField()
.Plugins(Html.X().InputMask()
.Mask("hi:mn aM")
.AllowInvalid(true)
.MaskSymbols(symbols =>
{
symbols.Add(new MaskSymbol() { Name = "h", Regex = "[01]" });
symbols.Add(new MaskSymbol() { Name = "i", Regex = "[0-9]" });
symbols.Add(new MaskSymbol() { Name = "m", Regex = "[0-5]" });
symbols.Add(new MaskSymbol() { Name = "n", Regex = "[0-9]" });
symbols.Add(new MaskSymbol() { Name = "a", Regex = "[aApP]" });
}
)
)
),
Html.X().ComponentColumn()
.Editor(true)
.DataIndex("FridayOut")
.Width(60)
.Text("Out")
.Listeners(ls =>
{
ls.BeforeBind.Handler = "if (e.record.get('Friday') == '') e.config[0].disabled = true";
ls.ValidateEdit.Handler = "alert('test'); return true;";
})
.Component(
Html.X().TextField()
.Plugins(Html.X().InputMask()
.Mask("hi:mn aM")
.AllowInvalid(true)
.MaskSymbols(symbols =>
{
symbols.Add(new MaskSymbol() { Name = "h", Regex = "[01]" });
symbols.Add(new MaskSymbol() { Name = "i", Regex = "[0-9]" });
symbols.Add(new MaskSymbol() { Name = "m", Regex = "[0-5]" });
symbols.Add(new MaskSymbol() { Name = "n", Regex = "[0-9]" });
symbols.Add(new MaskSymbol() { Name = "a", Regex = "[aApP]" });
}
)
)
)
)
However, the Handler runs as soon as I begin editing the cell, not when done. How can I validate this after they have finished editing TimeOut or TimeIn?Thanks,
Amit
Last edited by Daniil; Mar 28, 2014 at 11:09 PM.
Reason: [CLOSED]