class PostForm(Form): title = TextField(u"标题", validators=[required(message=u"标题不能为空")], id="post_title") link = TextField(u"链接", default="http://", validators=[optional(), url(message=u"必须是个有效的链接")], id="post_link") description = TextAreaField(u"描述", id="post_description") tags = TextField(u"标签(用逗号分隔)", id="post_tags") access = RadioField(u"谁可以查看?", default=Post.PUBLIC, coerce=int, choices=((Post.PUBLIC, u"任何人"), (Post.FRIENDS, u"好友"), (Post.PRIVATE, u"只有自己"))) submit = SubmitField(u"提交") def __init__(self, *args, **kwargs): self.post = kwargs.get('obj', None) super(PostForm, self).__init__(*args, **kwargs) def validate_link(self, field): posts = Post.query.public().filter_by(link=field.data) if self.post: posts = posts.filter(db.not_(Post.id == self.post.id)) if posts.count(): raise ValidationError, u"这个链接已经有人提交了"
class OpenID_LoginForm(Form): next = HiddenField() openid = URLField("OpenID", validators=[ required("You didn't enter a OpenID URL"), url("OpenID must be a valid URL") ]) submit = SubmitField("Login")
class OpenIdLoginForm(Form): next = HiddenField() openid = TextField("OpenID", validators=[ required(_("OpenID is required")), url(_("OpenID must be a valid URL")) ]) submit = SubmitField(_("Login"))
class ResultForm(Form): name = TextField('Test Result Name:', validators=[required(message="Name can't be None")], id="result_name") case = SelectField("Test Case:", default=0, coerce=int) link = TextField( "Test Log Link:", default="http://", validators=[optional(), url(message="Must be valid link")], id="case_link") loop = IntegerField("Test loop:", validators=[optional()]) status = SelectField("Test Result:", default=Result.PASS, coerce=int, choices=[(Result.PASS, "Pass"), (Result.FAIL, "Fail"), (Result.BLOCK, "Blocked"), (Result.NORUN, "No Run")]) #tags = TextField("Separate by commma", id = "result_tags") submit = SubmitField() def __init__(self, *args, **kwargs): self.result = kwargs.get('obj', None) super(ResultForm, self).__init__(*args, **kwargs) def validate_name(self, field): result = Result.query.filter(Result.name.like(field.data)).first() if result: raise ValidationError, "This test result has been existed" def validate_link(self, field): results = Result.query.filter( Result.access == Result.PUBLIC).filter_by(link=field.data) if self.result: results = results.filter(db.not_(Result.id == self.result.id)) if results.count(): raise ValidationError, "This Test Link has been existed"
class AddFromURLForm(Form): caption = TextField() tags = TagListField() url = TextField(validators=[url()])
'label': u'First Name', 'validators': [ Required() ], 'description': 'Eg. Jane' }, 'surname': { 'validators': [ Required() ], 'description': 'Eg. Derp' }, 'website': { 'label': u'URL', 'validators': [ url(), ], 'description': 'Eg. http://www.derpsworth.com' }, 'email': { 'validators': [ Required(), Unique(User, User.email) ], 'description': 'Eg. [email protected]' }, 'phone': { 'description': 'Eg. 07688283555' }, 'twitter': { 'description': 'Eg. @derpslife'
class LoadPostForm(Form): douban = TextField(u"来自豆瓣:", validators=[url(message=u"必须是个有效的链接")], id="link_submit") submit = SubmitField(u"加载", id="load_data")