Mam podmiot z kilkoma polami w nim. Jednym z nich jest zatwierdzony po złożeniu formularza w następujący sposób:Sprawdzanie poprawności liczby całkowitej z formularza
/**
* @var integer $anzahl
*
* @ORM\Column(name="anzahl", type="integer")
* @Assert\NotBlank(message="Bitte geben Sie eine Kistenanzahl an.")
* @Assert\Type(type="numeric", message="Die Kistenanzahl muss eine Zahl sein.")
* @Assert\Min(limit="1", message="Sie müssen mindestens eine Kiste suchen oder anbieten.")
*/
private $anzahl;
Mam dwa problemy z tym rozwiązanie:
Tylko całkowita Wartości wyższe niż zero powinno być przyjęte. Jednak zatwierdzanie odbywa się również za pomocą funkcji pływających/podwójnych. Jeśli jednak zmienię @Assert\Type(type="numeric")
na @Assert\Type(type="integer")
, żadne dane wejściowe nie zostaną zweryfikowane jako prawdziwe. Jak mogę sprawdzić, czy moje dane wejściowe są wartościami całkowitymi?
Innym problemem jest to, że po wpisaniu oczywiście nieprawidłowej wartości (jak ciąg liter) otrzymuję nie tylko mój niemiecki komunikat o błędzie dla sprawdzania typu, ale również komunikat w języku angielskim "ta wartość powinna być prawidłową liczbą". Skąd pochodzi ta wiadomość i jak mogę się jej pozbyć?
' @Asersert \ Type (type = "integer") 'nie działa. To była pierwsza rzecz, którą próbowałem. – sprain
Czy widziałeś drugą część odpowiedzi? Jakiego typu formularza używasz dla tej właściwości? –
Użycie liczby całkowitej jako typu pola zrobiło lewę. Dzięki. – sprain