2013-06-11 28 views
5

tôi đã xác định một dạng như thế này:Flask-WTF: Làm thế nào để cho phép zero khi DataRequired() xác nhận

class RecordForm(Form): 
    rating = IntegerField('Rating') 

Nếu không có giá trị được chèn tôi nhận được một thông điệp mặc định như thế này:

Not a valid integer value 

tôi muốn có một thông báo tùy chỉnh thay vào đó, vì vậy tôi đã đưa ra với điều này:

class RecordForm(Form): 
    rating = IntegerField('Rating',[validators.DataRequired("Helllo???")]) 

thông điệp tùy chỉnh làm việc bây giờ, nhưng tôi nhận được như hiệu ứng ide. 0 (không) không còn được chấp nhận dưới dạng giá trị số nguyên. Tôi có những lựa chọn nào ở đây?

+1

Tại sao -1 mà không cần bất kỳ ý kiến? nếu câu hỏi có thể được cải thiện, xin vui lòng cho tôi biết. – Houman

Trả lời

6

Sử dụng InputRequired thay vì:

class RecordForm(Form): 
    rating = IntegerField('Rating',[validators.InputRequired("You got to enter some rating!")]) 

Từ các tài liệu:

Note có sự phân biệt giữa điều này và DataRequired ở chỗ InputRequired trông rằng dữ liệu dạng đầu vào được cung cấp, và vẻ DataRequired tại dữ liệu sau cưỡng chế.

(tôi nhấn mạnh)

+1

Tại sao -1? Giải pháp đang làm việc cho tôi. – Houman

+0

chính xác! tại sao -1? –

+0

Phải là một con troll. Cũng đã -1'ed câu hỏi của tôi. Tôi để nó mở một lúc trước khi tôi chấp nhận câu hỏi của bạn như một câu trả lời. Cảm ơn – Houman