我正在检查我的一个应用程序中是否存在不匹配的用户名。 如果它发现不匹配的用户名,我会将该值包装在 <mark> 标签。
<mark>
我想在将DBIx::Class对象的用户名值传递回JS之前更新它。
我现在有下面的,这几乎是我想要的,但不完全。
my $mismatch_username = check_for_mismatch_username($self, $id, 'AD'); if(defined $mismatch_username) { my $flagged_username = "<mark>".$info->accountname."</mark> <font color=\"red\">(Mismatch: $mismatch_username)</font>"; $info->update({accountname => $flagged_username}); } $info = {$info->get_columns}; $self->render(json => {info => $info});
如果不想修改对象,请不要修改它。
(当然,您可以在不保存字段的情况下使用 $info->accountname(â¦) . 但这仍然会使对象处于修改状态,其他代码可能会保存它。如果HTML标记被现场验证器拒绝,它也可能失败。)
$info->accountname(â¦)
my $data = { $info->get_columns }; if (defined $mismatch_username) { $data->{accountname} = "<mark>â¦"; } $self->render(json => { info => $data });