Tôi đang sử dụng plugin Grails Webflow. Dưới đây là các đối tượng miền tôi đang làm việc với:Tôi làm cách nào để giả mạo lỗi xác thực?
class Foo implements Serializable {
String fooProp1,
fooProp2
static constraints = {
fooProp2 nullable: false
}
}
class Bar implements Serializable {
Foo fooObject
static constraints = {
fooObject nullable: false
}
}
Tại một thời điểm trong luồng web, tôi cần đảm bảo rằng fooObject.fooProp1 không rỗng. Nếu có, tôi muốn ném một lỗi và buộc người dùng cung cấp nó với một giá trị. Tôi đã thử sử dụng validate() để làm điều này (trên cả hai đối tượng Bar và Foo), nhưng vì fooProp1 có thuộc tính nullable: true, nó vượt qua xác thực. Bất kỳ ý tưởng?
Tôi hơi bối rối - nếu đây là trường hợp, không nên thuộc tính chỉ là 'nullable: false'? Bạn có thể làm rõ lý do tại sao bạn không thể thêm ràng buộc vào miền của mình không? Đó là giải pháp rõ ràng nhất đối với tôi, tôi đoán vậy. –
Vâng, các đối tượng Foo được phép tồn tại trong cơ sở dữ liệu mà không có một fooProp1 được chỉ định. Tuy nhiên, trong luồng web, thuộc tính này không cần phải rỗng, vì nó được sử dụng ở cuối quy trình luồng web. – Pat