Validasi Form API Platform + Symfony
Hai teman-teman pembaca, kali ini aku akan lanjutkan tulisan di tahun 2018 tentang API Platform . Jika ditulisan sebelumnya kita bahas tentang CRUD, kali ini aku lanjutkan dengan pembahasan seputar validasi request(form) di API Platform.
Untuk melakukan validasi request, maka kita cukup menggunakan constraint bawaan dari symfony dengan menambahkan use Symfony\Component\Validator\Constraints as Assert
diatas deklarasi class / entity, hasilnya kurang lebih seperti ini :
Jadi pada property $title
kita tambahkan constraint NotBlank
yang menandakan bahwa property title tidak boleh kosong. Selain NotBlank
ada banyak constraint lainnya, selengkapnya bisa dilihat di https://symfony.com/doc/current/reference/constraints.
Lalu kita coba di swagger yang telah dibuat secara otomatis oleh API Platformnya bisa akses di http://localhost:8000/api . Dan kita pilih method POST untuk menambahkan data. Lalu isi dari pada title kita kosongkan atau bisa disi dengan ""
, lalu klik Execute.
Maka akan menghasilkan response seperti berikut :
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "title: This value should not be blank.",
"violations": [
{
"propertyPath": "title",
"message": "This value should not be blank."
}
]
}
Jika responsenya seperti ini maka validasinya berhasil, bagaimana mudah kan?. Anda bisa menambahkan constraint di property lainnya yang dianggap perlu di validasi.