Угловая 5 Проверка правильности цены на образец. Всегда возвращает недопустимый [дубликат]

Вы можете сделать это nullable:

$table->string('family')->nullable();

Или добавить некоторое значение по умолчанию:

$table->string('family')->default('none');

После этого вы должны выполнить резервное копирование данных и выполнить:

php artisan migrate:refresh                                      

Затем восстановите данные.

Или вы можете создать отдельную миграцию и только изменить family на значение NULL :

Schema::table('users', function (Blueprint $table) {
    $table->string('family')->nullable()->change();
});

2
задан Phrogz 6 February 2011 в 17:50
поделиться

1 ответ

Пожалуйста, проигнорируйте мое закрытое голосование. Ваша проблема в том, что обратная косая черта в строке имеет особое значение; если вам нужна обратная косая черта в вашем регулярном выражении, вам сначала нужно получить буквальную обратную косую черту в строке, переданной в регулярное выражение:

new RegExp('\\b[\\d \\.]+\\b','g');

Обратите внимание, что это довольно плохое (разрешающее) регулярное выражение, так как оно будет соответствовать ". . . " как «число» или "1 1...3 42". Лучше может быть:

/-?\d+(?:\.\d+)?\b/

Обратите внимание, что это соответствует нечетным вещам вроде 0000.3 также не соответствует:

  • Ведущий +
  • Научная нотация, например 1.3e7
  • Отсутствует ведущая цифра, например. .4

Также обратите внимание, что использование конструктора RegExp (минимально) медленнее и, конечно, менее идиоматично, чем использование литерала RegExp. Использование его - это только хорошая идея, когда вам нужно создать свой RegExp из предоставленных строк. Большинство людей с более чем знакомством с JavaScript найдут /.../ нотацию полностью понятной.

8
ответ дан Phrogz 21 August 2018 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: