['email', 'filter', 'filter' => 'trim'], // trim приводит null к пустой строке
['email', 'email'],
['email', 'unique', 'message' => 'Email уже существует.'],
// либо добавляем правило
['email', 'default', 'value' => null], // по умолчанию ставим null. Важно чтобы это правило было после trim
// либо изменяем trim
['email', 'filter', 'filter' => 'trim', 'skipOnEmpty' => true],
When the validate() method is called, it does the following steps to perform validation:
Determine which attributes should be validated by getting the attribute list from yii\base\Model::scenarios() using the current scenario. These attributes are called active attributes.
Determine which validation rules should be used by getting the rule list from yii\base\Model::rules() using the current scenario. These rules are called active rules.
Use each active rule to validate each active attribute which is associated with the rule. The validation rules are evaluated in the order they are listed.
header('Location: https://example.com/the/same/page');
Какие операции тяжелые и какие легкие в обеих вариантах?Безусловно, определять такие операции "на глаз" - это очень крутой скилл, но его довольно сложно прокачать.
$newName = preg_replace('/(.*?)([а-я])?(\.xlsx)/u', "$1$2$2$3", $oldName);
.chuk {height: 40px; width: 40px;}
.gek {height: 20px; width: 20px;}
.hren {fill: red;}
.hren {fill: green;}
.chuk > .hren {fill: red;}
.hren {fill: green;}
я вообще перемешал все правила рандомом
.gek > .hren {
fill: red;
height: 22px;
}
.chuk > .hren {
height: 24px;
fill: red;
}
alarmSound.addEventListener('ended', function() {}, false);
function eventAction() {
this.currentTime = 0;
this.play();
}
function initAlarm() {
alarmSound.play();
alarmSound.addEventListener('ended', eventAction, false);
document.getElementById("alarmOptions").style.display=""; // отображает две кнопки
}
$post->photo->file
- видимо хранит url файла "project.ru/public/images/15319033962.jpg" (кстати project.ru тут явно лишний, Вы при смене домена будете всю базу перебирать), а для удаления нужен путь.