2011-12-06 32 views
11

Tôi đang tìm cách xác thực chỉ một trường (thuộc tính đối tượng) dựa vào các ràng buộc được chỉ định trong chú thích của một thực thể cụ thể.Xác nhận trường biểu mẫu duy nhất chỉ trong Symfony2

Mục đích là gửi yêu cầu AJAX sau sự kiện "onBlur" của trường biểu mẫu, yêu cầu máy chủ xác thực trường đơn này và - tùy thuộc vào phản hồi - thêm hình ảnh "OK" nhỏ bên cạnh trường hoặc thông báo lỗi.

Tôi không muốn xác thực toàn bộ thực thể.

Tôi tự hỏi cách tiếp cận tốt nhất cho vấn đề này là gì? Cảm ơn mọi lời khuyên.

Trả lời

18

Lớp Validator có phương thức validateProperty. Bạn có thể sử dụng nó như thế này:

$violations = $this->get('validator')->validateProperty($entity, 'propertyName'); 
if (count($violations)) { 
    // the property value is not valid 
} 

Hoặc, nếu giá trị không được thiết lập trong tổ chức nào, bạn có thể sử dụng phương pháp validatePropertyValue:

$violations = $this->get('validator')->validatePropertyValue($entity, 'propertyName', $propertyValue); 
if (count($violations)) { 
    // the property value is not valid 
} 
5

Hãy xem validation groups. Tôi nghĩ rằng đây là những gì bạn cần. Bạn có thể thêm một nhóm "ajax" hoặc chỉ thêm một ràng buộc vào nhóm đó. Sau đó yêu cầu trình xác thực sử dụng nhóm đó. Các tài liệu symfony2 có một ví dụ đi kèm.

+0

Bạn có thể pls cung cấp cho các mã ví dụ sudo vv –

Các vấn đề liên quan