Changeset 14083
- Timestamp:
- 06/15/08 23:02:27 (5 years ago)
- Location:
- lang/perl/FormValidator-LazyWay/branches/rebuild
- Files:
-
- 4 added
- 3 modified
-
lib/FormValidator/LazyWay.pm (modified) (9 diffs)
-
lib/FormValidator/LazyWay/Message (added)
-
lib/FormValidator/LazyWay/Message.pm (modified) (2 diffs)
-
lib/FormValidator/LazyWay/Message/EN.pm (added)
-
lib/FormValidator/LazyWay/Message/JA.pm (added)
-
t/message-base-message.t (added)
-
t/message.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/FormValidator-LazyWay/branches/rebuild/lib/FormValidator/LazyWay.pm
r13946 r14083 61 61 sub { $self->_validation_block(@_) }, 62 62 63 # エラーメッセージセット64 sub { $self->_set_error_message(@_) },65 63 ); 66 64 … … 72 70 } 73 71 74 sub _set_error_message { 72 sub _set_error_message_for_display { 73 my $self = shift; 74 my $storage = shift; 75 my $error_messages = shift; 76 my $lang = shift || 'ja'; #TODO 77 78 foreach my $field ( keys %{$error_messages} ) { 79 80 local $" = ','; 81 my $tmp = "@{$error_messages->{$field}}"; 82 83 # TODO 84 my $mes = '__field__は__rule__だよ'; 85 $mes =~ s/__rule__/$tmp/g; 86 87 # TODO 88 my $label = $field; 89 $mes =~ s/__field__/$label/g; 90 $error_messages->{$field} = $mes; 91 } 92 93 # setting missing error message 94 if ( scalar @{ $storage->{missings} } ) { 95 for my $missing ( @{ $storage->{missings} } ) { 96 # missing. 97 $error_messages->{$missing} = $missing . ' is missing.'; 98 } 99 } 100 101 $storage->{error_message} = $error_messages; 75 102 76 103 } 77 104 78 105 sub _append_error_message { 79 my $self = shift;80 my $lang = shift;81 my $level = shift;82 my $field = shift;83 my $storage = shift;84 my $label = shift;106 my $self = shift; 107 my $lang = shift; 108 my $level = shift; 109 my $field = shift; 110 my $storage = shift; 111 my $label = shift; 85 112 my $error_messages = shift; 86 113 87 $storage->{invalid}{$field}{ $label} = 1;88 89 unless (exists $error_messages->{$field} ) {114 $storage->{invalid}{$field}{$label} = 1; 115 116 unless ( exists $error_messages->{$field} ) { 90 117 $error_messages->{$field} = []; 91 } 92 push @{ $error_messages->{$field} }, $self->message->get( { lang => $lang , field => $field, label => $label , level => $level } ); 118 } 119 push @{ $error_messages->{$field} }, 120 $self->message->get( 121 { lang => $lang, field => $field, label => $label, level => $level } 122 ); 93 123 94 124 } … … 109 139 next unless exists $storage->{valid}{$field}; 110 140 111 # TODO : level112 141 my $validators = $self->_get_validator_methods( $field, $level ); 113 142 … … 118 147 CHECK_ARRAYS: 119 148 for my $v ( @{ $storage->{valid}{$field} } ) { 120 if ( $validators->{$field}{method}->( $storage->{valid}{$field} ) ) { 149 if ( $validators->{$field}{method} 150 ->( $storage->{valid}{$field} ) ) 151 { 152 121 153 # OK 122 154 next CHECK_ARRAYS; 123 155 } 124 156 else { 125 $self->_append_error_message( $profile->{lang} , $level , $field , $storage , $validators->{$field}{label} , $error_messages); 157 $self->_append_error_message( $profile->{lang}, 158 $level, $field, $storage, 159 $validators->{$field}{label}, 160 $error_messages ); 126 161 $is_invalid++; 127 162 last CHECK_ARRAYS; … … 129 164 } 130 165 131 # 配列にする。132 # TODO : ループの中でやったほうがいいんじゃね?166 # 配列にする。 167 # TODO : ループの中でやったほうがいいんじゃね? 133 168 if ( none( @{ $profile->{want_array} } ) eq $field ) { 134 169 $storage->{valid}{$field} = $storage->{valid}{$field}[0]; … … 138 173 } 139 174 else { 140 if ( $validators->{$field}{method}->( $storage->{valid}{$field} ) ) { 175 if ( $validators->{$field}{method} 176 ->( $storage->{valid}{$field} ) ) 177 { 178 141 179 # return alwasy array ref when want_array is seted. 142 180 if ( any( @{ $profile->{want_array} } ) eq $field ) { 143 181 my $value = $storage->{valid}{$field}; 144 182 $storage->{valid}{$field} = []; 145 push @{ $storage->{valid}{$field} } , $value;183 push @{ $storage->{valid}{$field} }, $value; 146 184 147 185 } 148 186 else { 149 $self->_append_error_message( $profile->{lang} , $level , $field , $storage , $validators->{$field}{label} , $error_messages); 187 $self->_append_error_message( $profile->{lang}, 188 $level, $field, $storage, 189 $validators->{$field}{label}, 190 $error_messages ); 150 191 $is_invalid++; 151 192 } … … 157 198 } 158 199 200 $self->_set_error_message_for_display( $storage, $error_messages ); 159 201 } 160 202 … … 202 244 203 245 sub _set_lang { 204 my $self = shift;205 my $storage = shift;206 my $profile = shift;246 my $self = shift; 247 my $storage = shift; 248 my $profile = shift; 207 249 208 250 $profile->{lang} = $profile->{lang} || $self->message->lang; … … 283 325 =cut 284 326 285 -
lang/perl/FormValidator-LazyWay/branches/rebuild/lib/FormValidator/LazyWay/Message.pm
r13946 r14083 12 12 has langs => ( is => 'ro', isa => 'ArrayRef' ); 13 13 has rule_message => ( is => 'ro', isa => 'HashRef' ); 14 has base_message => ( is => 'ro', isa => 'HashRef' ); 14 15 15 16 sub BUILD { … … 52 53 $self->{lang} = $self->config->{lang} || 'en'; 53 54 $self->{langs} = $self->config->{langs} || [ $self->lang ]; 55 56 for my $lang ( @{$self->{langs}} ) { 57 my $pkg = __PACKAGE__ . '::' . uc $lang ; 58 $pkg->require; 59 $self->{base_message}{ $lang } = { 60 invalid => $self->config->{messages}{$lang}{invalid} || $pkg->invalid(), 61 missing => $self->config->{messages}{$lang}{missing} || $pkg->missing(), 62 }; 63 } 54 64 } 55 65 -
lang/perl/FormValidator-LazyWay/branches/rebuild/t/message.t
r13760 r14083 90 90 custom_invalid : 91 91 foo_error : フーエラー 92 rule_message : __field__には__rule__が使用できます。 92 invalid : __field__には__rule__が使用できます。 93 missing : 値が入力されていません。 93 94 rule : 94 95 email::email : メールアドレス 95 96 oppai::name : ぼいん 96 97 # この配下は考え中段階 97 missing :98 default : 値が入力されていません。99 98 --- rule_message eval 100 99 {
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)