Страница 1 из 1
Добавить в input кроме значения из базы что то свое.
Добавлено: 2018.12.28, 14:41
ivan_sms
Добрый день. У меня есть форма, в каждый инпут в ней добляются значения из базы из соответствующих полей. Можно ли сделать так что бы в инпут добавлялась еще строка помимо данных из базы? Например у меня в поле телефон из базы подставляется 380671122333, а мне хочется что бы оно выглядело как +380671122333. Я не понимаю в каком место мне надо сделать конкатенацию "+" . , это вообще возможно?
Вот так выглядит инпут в форме.
<?= $form->field($model, 'phone')->textInput(); ?>
Re: Добавить в input кроме значения из базы что то свое.
Добавлено: 2018.12.28, 21:03
Dominus
1. Так можно контроллере:
Код: Выделить всё
$model->phone = '+' . $model->phone;
return $this->render('update', [
'model' => $model,
]);
2. А так можно в виде:
Код: Выделить всё
<?php $model->phone = '+' . $model->phone; ?>
<?= $form->field($model, 'phone')->textInput(); ?>
Можно поступить и так:
https://getbootstrap.com/docs/3.3/compo ... oups-basic
Re: Добавить в input кроме значения из базы что то свое.
Добавлено: 2018.12.28, 22:59
steaze
Можно добавить геттер в модель. Тогда сможете эти данные использовать везде, где хочется. Например:
Код: Выделить всё
public function getPhonePlus() {
return '+' . $this->phone;
}
public function setPhonePlus() {
$this->phone = trim($this->phonePlus, '+');
}
В форме:
Код: Выделить всё
<?= $form->field($model, 'phonePlus')->textInput(); ?>
Re: Добавить в input кроме значения из базы что то свое.
Добавлено: 2018.12.29, 08:58
urichalex
А зачем вообще в поле его? Обязательно, чтобы сохранялось с плюсом? Можно сделать
prepend addon в форме с плюсом, либо можно использовать Maskedinput
Re: Добавить в input кроме значения из базы что то свое.
Добавлено: 2018.12.29, 12:12
ivan_sms
Спасибо.
Re: Добавить в input кроме значения из базы что то свое.
Добавлено: 2019.04.11, 12:58
Usick
Dominus писал(а): ↑2018.12.28, 21:03
1. Так можно контроллере:
...
2. А так можно в виде:
3. В модели можно переопределить метод afterFind()
Код: Выделить всё
public function afterFind()
{
parent::afterFind();
$this->phone = '+' . $this->phone;
}