[[!FormIt? &validate=`date:isDate=^%m/%d/%Y^`]]
[[!FormIt? &validate=`date:isDate=^%d/%m/%Y^`]]
Langue cultureKey fr locale locale fr_FR.UTF-8
Langue cultureKey en locale locale en_US.UTF-8
This question has been answered by Fildefer57. See the first response.
<p>[[!FormIt?
&customValidators=`inverseDate`
&hooks=`spam,email,redirect`
&emailTpl=`MyEmailChunk`
&emailTo=`[email protected]`
&emailReplyTo=`[email protected]`
&errTpl=`<span class="errors">[[+error]]</span>`
&validate=`date:inverseDate=^%m/%d/%Y^`
&store=`1`
&redirectTo=`9`
]]
</p>
<p>[[+fi.error.error_message]]</p>
<form id="contactForm" action="[[~[[*id]]]]" method="post"><input type="hidden" name="nospam:blank" />
<p><label for="date"> Date de réservation souhaitée (mm/jj/aaaa) : <span class="error">[[+fi.error.date]]</span> </label> <input id="date" class="contactInput" type="text" name="date" value="[[+fi.date]]" /></p>
<div class="form-buttons"><input type="submit" value="Envoi des données" /></div>
</form>
</div>
<?php
public function inverseDate($key,$value,$format = '%m/%d/%Y') {
echo '<br />key'.$key;
echo '<br />value'.$value;
echo '<br />param'.$param;
echo '<br />type'.$type;
// echo '<br />validator'.$validator;
$ts = false;
if (!empty($value)) {
/* $ts = strtotime(str_replace('/', '-', $value)); */
/* This was supposed to replace */
$ts = strtotime($value);
}
if ($ts === false || empty($value)) {
return $this->_getErrorMessage($key,'vTextIsDate','formit.not_date',array(
'format' => $format,
'field' => $key,
'value' => $value,
));
}
if (!empty($format)) {
$this->fields[$key] = strftime($format,$ts);
}
return true;
}public function inverseDate($key,$value,$format = '%m/%d/%Y') {
}<?php
echo '<br />key'.$key;
echo '<br />value'.$value;
echo '<br />param'.$param;
echo '<br />type'.$type;
// echo '<br />validator'.$validator;
$ts = false;
if (!empty($value)) {
/* $ts = strtotime(str_replace('/', '-', $value)); */
/* This was supposed to replace */
$ts = strtotime($value);
}
if ($ts === false || empty($value)) {
return $this->_getErrorMessage($key,'vTextIsDate','formit.not_date',array(
'format' => $format,
'field' => $key,
'value' => $value,
));
}
if (!empty($format)) {
$this->fields[$key] = strftime($format,$ts);
}
return true;
return $this->_getErrorMessage($key,'vTextIsDate','formit.not_date',array(
'format' => $format,
'field' => $key,
'value' => $value,
));$validator->addError($key,'daate obligatoirement en français!');
<?php
$ts = false;
if (!empty($value)) {
$ts = strtotime(str_replace('/', '-', $value));
/* on this line, I replace the / use in my form date (30/07/2013 for july, 30th 2013) with a - that strtotime undertand as a so called european date 30-07-2013 */
}
if ($ts === false || empty($value)) {
$validator->addError($key,'date obligatoirement en français! date must be in french format');
}
if (!empty($format)) {
$this->fields[$key] = strftime($format,$ts);
}
return true;
?>&customValidators=`inverseDate` &validate=`date:inverseDate=^%m/%d/%Y^`
[[!FormIt? &validate=`date:isDate=^%d/%m/%Y^`]]