#forms #validation #symfony
#формы #проверка #symfony
Вопрос:
даже при копировании / вставке этих ограничений ничего не происходит, я также отключил проверки html, это код: twig:
{{form_start(form, {'action':'', 'method':'POST'})}}
{{ form(form, {'attr': {'novalidate': 'novalidate'}}) }}
{{form_end(form)}}
здесь класс:
class Curso {
/**
* @var int
*
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
* @AssertMaxLength(15)
* @ORMColumn(name="titulo", type="string", length=255)
*/
private $titulo;
/**
* @var string
* @AssertNotBlank()
* @AssertLength(
* min = 2,
* max = 50,
* minMessage = "Your first name must be at least {{ limit }} characters long",
* maxMessage = "Your first name cannot be longer than {{ limit }} characters"
* )
* @AssertType("string")
* @ORMColumn(name="descripcion", type="string", length=255)
*/
private $descripcion;
/**
* @var float
* @AssertNotBlank()
* @ORMColumn(name="precio", type="float")
*/
private $precio;
/**
* Get id
* @AssertNotBlank()
* @return int
*/
public function getId() {
return $this->id;
}
/**
* Set titulo
*
* @param string $titulo
*
* @return Curso
*/
public function setTitulo($titulo) {
$this->titulo = $titulo;
return $this;
}
/**
* Get titulo
*
* @return string
*/
public function getTitulo() {
return $this->titulo;
}
/**
* Set descripcion
*
* @param string $descripcion
*
* @return Curso
*/
public function setDescripcion($descripcion) {
$this->descripcion = $descripcion;
return $this;
}
/**
* Get descripcion
*
* @return string
*/
public function getDescripcion() {
return $this->descripcion;
}
/**
* Set precio
*
* @param float $precio
*
* @return Curso
*/
public function setPrecio($precio) {
$this->precio = $precio;
return $this;
}
/**
* Get precio
*
* @return float
*/
public function getPrecio() {
return $this->precio;
}
}
можете ли вы сказать мне, что не так? извините за мой английский, я немного заржавел :)!!!
Комментарии:
1. Вы пытаетесь проверить свою форму или нет? Почему вы включаете
{'attr': {'novalidate': 'novalidate'}}
?2. @Chausser — разве он не мог бы разумно ожидать, что платформа будет проверять на стороне сервера, даже
novalidate
если опция передана? @Pablo — можете ли вы включитьCursoType
форму и, возможно, метод контроллера, который обрабатывает запросы / ответы для этого действия?3. @CameronHurd Вы правы, параметр novalidate должен отключать только проверку HTML, но сервер все равно должен выполнять проверку.
Ответ №1:
Возможно, вы захотите проверить свои app/config.yml
и убедиться, что у вас включены аннотации для проверки
framework:
...
validation: { enable_annotations: true }