У меня уже работает проверка формы, мне просто нужно применить класс CSS к полю ввода, чтобы дать ему красную рамку при возникновении ошибки. Есть 2 возможных ошибки. Каждый из них отлично работает в отдельности, но когда срабатывают обе ошибки, только один из блоков получает границу. Использовал этот же код в другой форме, но не в функции, и он работал нормально. Чего мне не хватает?
//function stackoverflow($pet, $grab, $errors_NaN)
...
...
//testing here to make sure all errors are in the array
var_dump($errors_NaN);
echo '<br />';
foreach($errors_NaN as $error){
echo $error . '<br />';
}
echo '<div class="edit_col3">';
echo '<div class="formrow">';
echo '<label for="weight">Weight</label>'; //no text validation
echo '<input ';
if (!empty($errors_NaN)) {
foreach($errors_NaN as $error){
if($error == 'weight_NaN'){
echo 'class="edit_mfwa"';
//this triggers if ONLY weight_NaN is in the array but not if both weight_NaN and age_NaN
}
else {
echo 'class="weight"';
}
}
}
elseif (empty($errors_NaN)){
echo 'class="weight"';
}
echo ' type="text" name="weight" value="' . $grab['weight'] . '" id="weight" />';
echo '<div class="pet_units">lbs</div>';
echo '<div class="clear"></div>';
echo '</div>';// end form row
echo '<div class="formrow">';
echo '<label for="age">Age</label>'; //no text validation
echo '<input ';
if (!empty($errors_NaN)) {
foreach($errors_NaN as => $error){
if($error == 'age_NaN'){
echo 'class="edit_mfwa"';
//this triggers properly in both situation
}
else {
echo 'class="age"';
}
}
}
elseif (empty($errors_NaN)) {
echo 'class="age"';
}
echo ' type="text" name="age" value="' . $grab['age'] . '" id="age" />';
echo '<div class="pet_units">years</div>';
echo '<div class="clear"></div>';
echo '</div>'; //end form row
Комментарий в нескольких местах, где кажется, что проблема возникает