2016-11-17 5 views
0

Я использую валидатор WALLFORMs MacAddress, но он не распознает действительные MAC-адреса, которые я вводил. Почему он не работает?WTForms не подтверждает MAC-адрес

{'choice': [u'Invalid Mac address.']} 
class EditForm(Form): 
    choice = TextField('choice', validators=[DataRequired(), MacAddress()]) 

@app.route('/', methods=['GET', 'POST']) 
def devicechoice(): 
    form = EditForm() 

    if form.validate_on_submit(): 
     print form.choice.data 
     return redirect(url_for('editdevice')) 
    else: 
     print form.errors 

    return render_template('devicechoice.html', form=form) 
<form action="" method="post"> 
    {{ form.hidden_tag() }} 
    {{ form.choice() }} 
    <input type="submit"> 
</form> 
+2

Как вы отформатируете адреса mac, которые вы передаете? 'MacAddress', похоже, проверяет адреса, где фрагменты объединяются с': 'c.f. [источник] (https://github.com/wtforms/wtforms/blob/master/wtforms/validators.py#L364) – Ketouem

+2

Пожалуйста, [править], чтобы включить [mcve]. – davidism

+0

@ Ketouem, Это работает, спасибо, Не могу поверить, что я забыл попробовать это – johnfk3

ответ

0

Вопрос был дан ответ @Ketouem, просто полагая а ":" после каждых 2-х символов адреса Mac проверяет форму. (12: 34: 56: 78: AB: CD)

Смежные вопросы