2014-05-08 30 views
-1

我想要一個模型char字段上的正則表達式驗證器,如果char字段包含前導空白和尾隨空白,將會拋出錯誤。RegexValidator不允許CharField中的尾隨空格

例如: 「__regex驗證」:無效

「正則表達式validator__」:無效

「正則表達式驗證」:有效

THKS提前:)

  • __表示空格。

回答

1

既然你提到了「模式炭場」這是我建議的:

from django.db import models 
from django.core.validators import RegexValidator 

field = models.CharField(max_length=100, 
    validators=[RegexValidator(r"^\S.*\S$|^\S$|^$", 
           "This field cannot start or end with spaces.")]) 

的上述正則表達式將不允許開頭或結尾的空格,但將允許一個空字符串。如果有問題,這將報告錯誤。當你驗證數據錄入時,你通常想要報告錯誤而不是throw(即raise)他們。

+0

它不適用於單個字符值。 例如:'a' –

+0

對不起。我在交互式Python會話中嘗試了多個正則表達式,並在測試時將電線交叉。我編輯了我的答案。 – Louis

+0

thks ............. :) –