2014-10-06 33 views
0

我使用剑道UI 2013.2.716,特别是KendoGrid视图模型不是int值,C#,Visual Studio 2010中,我需要更改消息“全球化现场X必须是一个数字,“在图像中看到,并把它放在另一种语言。 The field x must be a number text.更改文本全球化“字段X必须是数字。”在KendoGrid使用

如果我在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); 
      } 
     } 
    }  
} 

但它没有工作,还是: enter image description here

我试着这样做英文:(

在我看来,我有这样的:

@(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

最后,经过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); 
      ... 
     } 

以及至少解决方案,在查看结束时,我把:

<script type="text/javascript"> 
     $("#listado").on("click", function (e) { 
      $(".k-grid #idElementColumn").attr('data-val-number', 'Ingrese un número.'); 
     });  
</script> 
相关问题