Jump to content

Recommended Posts

Posted

Boas malta,

Alguém usa este plugin?

Tive vários problemas com a interacção deste com o jqTransform, e ainda necessitei de fazer mais regras de validação, no entanto, estou com um problema, que é o seguinte:

Tenho 2 inputs para datas, uma de inicio e outra de fim para fazer o dateRange é tão simples quanto:

<input id="inicio" type="text" data-validation-engine="validate[dateRange[iDdateRange1]]" />
<input id="fim" data-validation-engine="validate[dateRange[iDdateRange1]]" />

O problema começa quando só inseri-mos o inicio, ele vai comparar os 2 campos e vê que não pode, então falha, porque está a espera do segundo campo.

Então pensei em adicionar no "if" a condição que se o segundo não estivesse preenchido o primeiro validava apenas a formatação (DD-MM-AAAA). Mas isto vai alterar em todos, e não estou a ver como posso fazer para casos específicos (a não ser criar uma nova validação em que considera esse caso).

Alguma ideia?

Posted

Consegui dar a volta.

então é o seguinte, dentro da função _dateRange

 _dateRange: function (first, second, rules, i, options) {
  //are not both populated
  if ((!first[0].value && second[0].value) || (first[0].value && !second[0].value) // empty fields
   || (first.val() == first[0].defaultValue) || (second.val() == second[0].defaultValue) ) { // default value fields
 return ""; // only gives error if required
  }
  //are not both dates
  var dateReg = options.allrules['date'].regex;
  if (!methods._isDate( first[0].value , dateReg ) || !methods._isDate( second[0].value , dateReg )) {
   return ""; // Date format invalid (no message) for message add validation custom[date]
  }
  //are both dates but range is off
  if (!methods._dateCompare(first[0].value, second[0].value)) {
   return  options.allrules[rules[i]].alertText2; // Date range invalid
  }
 },

Alterei para que não devolvessem mensagem de erro, sendo assim quando desse "erro" devolve "" (vazio).

Para finalizar na função _validateField dentro do for existe a parte em que adiciona texto ao promptText

e então alterei o teste do if para:

   if (errorMsg !== undefined && errorMsg != "" ) {
 promptText += errorMsg + "<br/>";
 options.isError = true;
   }

Assim posso especificar se pretendo "required" ou não.

Obrigado de qualquer forma malta.

  • Vote 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.