示例#1
0
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"这个链接已经有人提交了"
示例#2
0
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")
示例#3
0
class OpenIdLoginForm(Form):

    next = HiddenField()

    openid = TextField("OpenID",
                       validators=[
                           required(_("OpenID is required")),
                           url(_("OpenID must be a valid URL"))
                       ])

    submit = SubmitField(_("Login"))
示例#4
0
文件: result.py 项目: isuker/snippets
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"
示例#5
0
class AddFromURLForm(Form):
    caption = TextField()
    tags = TagListField()
    url = TextField(validators=[url()])
示例#6
0
     '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'
示例#7
0
class LoadPostForm(Form):
    douban = TextField(u"来自豆瓣:",
                       validators=[url(message=u"必须是个有效的链接")],
                       id="link_submit")
    submit = SubmitField(u"加载", id="load_data")