Pergunta

Eu tenho um projeto MVC ASP.NET trabalhar com NHibernate e NHibernate.Validator e eu gostaria de usar xVal 1.0 (versão mais recente). I Adicionado os scripts solicitados para o projeto e referenciado-lo em Site.Master:

    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery-1.3.2.js")%>"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery.validate.js")%>"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/xVal.jquery.validate.js")%>"></script>

Então eu adicionei o NHibernateValidatorRulesProvider aos xVal.ActiveRuleProviders no Global.asax Application_OnStart ():

xVal.ActiveRuleProviders.Providers.Add(new NHibernateValidatorRulesProvider(ValidatorMode.OverrideXmlWithAttribute));

Finalmente, na View, acrescentei:

<%= Html.ClientSideValidation<DomainModel.Entities.MyCustomClass>(Prefix) %>

Eu recebo um aviso JavaScript no IE, mas nenhum no Firefox. Se entrar agora alguns campos inválidos e submetê-los, xVal não dispara -. Um PostBack está sendo feita em vez ea validação Serverside processa a dados

O que estou fazendo de errado? Eu tenho sido capaz de fazer a amostra xVal Projeto correndo com xVal 1.0 ...

// edit: eu tenho que precisa minha declaração: Algo está realmente acontecendo: Ele faz um post-back e marcas os campos inválidos vermelho (como ele está fazendo o tempo todo com a validação do lado do servidor), mas se eu escrever algo nesses campos, a cor muda de volta ao seu estado normal. mas se eu, em seguida, apagar novamente o valor, nada está acontecendo até que eu clique em Enviar e o formulário não anothe postback ... Se eu remover o código clientsidevalidation, isso não parece acontecer.

Foi útil?

Solução

Certifique-se de que o seu validador não está permitindo nulos, MVC é validar formas contra campos vazios em postback mas xVal pode não fazê-lo em todos os casos.

Outras dicas

RESOLVIDO: Eu usei o [Comprimento (1,50)] - Validador para os TextFields para se certificar de que eles contêm um valor. Mas, obviamente, xVal não lidar com este validador como exceção: xVal permite que uma nova postagem, mesmo que os campos estão vazios. Para certificar-se que os controlos ValX se o campo estiver vazio, eu tive que escolher o [NotEmpty ()] atributo!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top