我使用 Kendo UI 2013.2.716 ,特别是 KendoGrid ,C#,Visual Studio 2010,我需要改变消息的全球化&#34 ; 字段X必须是数字。"如图所示,并用另一种语言。
如果我检查Chrome中的元素,我会看到:
我试过这样做:
视图模型
namespace Test.Models
{
public class TestModel
{
...
[DisplayName("Pos")]
[IsNumberAttribute(ErrorMessage = "Ingrese un número.")]
public int Pos { get; set; }
}
}
namespace Test.Models.CustomValidator
{
[AttributeUsage(AttributeTargets.Property)]
public class IsNumberAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
try
{
int numeroTemp;
bool esNumero = int.TryParse((string)value, out numeroTemp);
return esNumero;
}
catch (Exception)
{
return base.IsValid(value);
}
}
}
}
但它不起作用,仍然是英文:(
在我看来,我有这个:
@(Html.Kendo().Grid<Test.Models.TestModel>(Model)
.Name("titulo")
.Columns(columns =>
{
...
columns.Bound("Pos").Filterable(false);
columns.Bound("Edad").Title("Edad").ClientTemplate("#=window.TestMantenedor.Valida(edad)#").Width(500);
})
.ToolBar(toolbar =>
{
toolbar.Create().Text("Agregar");
toolbar.Save().SaveText("Modificar").CancelText("Cancelar");
})
.Editable(editable =>
{
editable.DisplayDeleteConfirmation(false);
editable.Mode(GridEditMode.InCell);
})
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Batch(true)
.Model(model =>
{
...
model.Field(p => p.Edad).DefaultValue(true);
})
.Create("Create", "Test", new { id = id })
.Events(events => events.Error("error_handler"))
.Events(events => events.RequestEnd("success_handler"))
)
.Filterable(filterable => filterable.Messages(messages =>
{
messages.Info("Mostrar plantillas en estado");
messages.Filter("Filtrar");
messages.Clear("Borrar");
messages.IsTrue("Valido");
messages.IsFalse("No valido");
})
)
.Pageable(p => p
.Messages(m => m
.Display("Mostrando {0}-{1} de {2} registros")
.Empty("No se encontraron registros")
.First("Ir a la primera página")
.Last("Ir a la última página")
.Next("Ir a la página siguiente")
.Previous("Ir a la página anterior")
)
)
)
任何帮助?
答案 0 :(得分:0)
最后,在尝试了很多东西3天后,也尝试了
的解决方案How to change 'data-val-number' message validation in MVC while it is generated by @Html helper
@(Html.Kendo().Grid<Test.TestModel>(Model)
.Name("listado")
.Columns(columns =>
{
columns.Bound("idElementColumn").Filterable(false);
...
}
至少,在View I的最后我说:
<script type="text/javascript">
$("#listado").on("click", function (e) {
$(".k-grid #idElementColumn").attr('data-val-number', 'Ingrese un número.');
});
</script>