Php 将Recaptcha实现到Silverstripe
我正在尝试将Recaptcha实现到Silverstripe,这一切都很好,但是当验证码信息未填写时,强制消息“请回答验证码问题”不会仅显示在我的一个表单上 谁能告诉我如何解决这个问题?谢谢你 这就是我在遵循步骤并安装了recaptcha和spamprotection之后所做的 我在BookingFormPage.php中添加了新的RecaptchaField(“MyCaptcha”)Php 将Recaptcha实现到Silverstripe,php,javascript,content-management-system,spam,silverstripe,Php,Javascript,Content Management System,Spam,Silverstripe,我正在尝试将Recaptcha实现到Silverstripe,这一切都很好,但是当验证码信息未填写时,强制消息“请回答验证码问题”不会仅显示在我的一个表单上 谁能告诉我如何解决这个问题?谢谢你 这就是我在遵循步骤并安装了recaptcha和spamprotection之后所做的 我在BookingFormPage.php中添加了新的RecaptchaField(“MyCaptcha”) $fields = new FieldSet( $TourDropDown,
$fields = new FieldSet(
$TourDropDown,
new TextField('FirstName'),
new TextField('LastName'),
new TextField('EmailAddress')
new DropdownField('People','People Travelling',$People),
new DropdownField('Accommodation','Accommodation Standard',$Accommodation),
new DropdownField('Rooms','How Many Rooms',$Rooms),
new DropdownField('Transport','Transport Option',$Transport),
new DropdownField('TransportSelfDrive','If self drive select grade',$TransportSelfDrive),
new TextField('FlightArrival','Flight Arrival Details'),
new TextField('FlightDeparture','Flight Departure Details'),
new DropdownField('LengthOfStay','Length of stay',$LengthOfStay),
new TextareaField('Comments'),
**new RecaptchaField('MyCaptcha')**
);
and I added
<div class="formHoizontal">
<div id="MyCaptcha" class="field recaptcha ">
$dataFieldByName(MyCaptcha)
</div>
</div>
to the BookingForm.ss
<form $FormAttributes class="threecolumnform">
<% if Message %>
<p id="{$FormName}_error" class="message $MessageType">$Message</p>
<% else %>
<p id="{$FormName}_error" class="message $MessageType" style="display: none"></p>
<% end_if %>
<fieldset>
<div class="formHoizontal">
<div class="field text">
<label class="left" for="$FormName_Tour">Tour</label>
$dataFieldByName(Tour)
</div>
</div>
<div class="clear"></div>
<div class="formHoizontal">
<div id="FirstName" class="field text">
<label class="left" for="$FormName_FirstName">First name</label>
$dataFieldByName(FirstName)
</div>
<div>
<label class="left" for="$FormName_LastName">Last name</label>
$dataFieldByName(LastName)
</div>
</div>
<div class="clear"></div>
<div class="formHoizontal">
<div id="EmailAddress" class="field email">
<label class="left" for="$FormName_EmailAddress">Email</label>
$dataFieldByName(EmailAddress)
</div>
</div>
<div class="clear"></div>
<div class="formHoizontal">
<div class="field text">
<label class="left" for="$FormName_LengthOfStay">Length of stay</label>
$dataFieldByName(LengthOfStay)
</div>
</div>
<div class="clear"></div>
<div class="formHoizontal">
<div class="field text">
<label class="left" for="$FormName_People">Number of Adults</label>
$dataFieldByName(People)
</div>
</div>
<div class="clear"></div>
<br />
<h4>Accommodation</h4>
<div class="formHoizontal">
<div class="field text">
<label class="left" for="$FormName_Accomadation">Type</label>
$dataFieldByName(Accommodation)
</div>
<div class="field text">
<label class="left" for="$FormName_Rooms">Number of rooms</label>
$dataFieldByName(Rooms)
</div>
<div class="field text">
<label class="left" for="$FormName_RoomConfig">Room requirements</label>
$dataFieldByName(RoomConfig)
</div>
</div>
<div class="clear"></div>
<br />
<h4>Transport</h4>
<div class="formHoizontal">
<div class="field text">
<label class="left" for="$FormName_Transport">Type</label>
$dataFieldByName(Transport)
</div>
<div>
<label class="left" for="$FormName_TransportSelfDrive">If self drive select grade</label>
$dataFieldByName(TransportSelfDrive)
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
<div>
<div class="field text">
<label class="left" for="$FormName_SightSeeing">Enter any sightseeing or activities you would like included</label>
$dataFieldByName(SightSeeing)
</div>
<div><h4>Sightseeing</h4></div>
</div>
<br />
<div class="formHoizontal">
<div class="field text">
<label class="left" for="$FormName_FlightArrival">Flight Arrival Details</label>
$dataFieldByName(FlightArrival)
</div>
<div class="field text">
<label class="left" for="$FormName_FlightDeparture">Flight Departure Details</label>
$dataFieldByName(FlightDeparture)
</div>
</div>
<div class="clear"></div>
<br /><br /><br />
**<div class="formHoizontal">
<div id="MyCaptcha" class="field recaptcha ">
$dataFieldByName(MyCaptcha)
</div>
</div>**
<div class="clear"></div>
<br /><br /><br />
<div class="formHoizontalTwoColumn">
<div class="field text">
<label class="left" for="$FormName_Comments">Extra Information</label>
$dataFieldByName(Comments)
</div>
</div>
$dataFieldByName(SecurityID)
$fields=新字段集(
$TourDropDown,
新文本字段('FirstName'),
新文本字段('LastName'),
新文本字段('EmailAddress')
新的DropdownField('人','人旅行',$人),
新的DropdownField(‘住宿’、‘住宿标准’、$住宿),
新的DropdownField('Rooms'、'How Number Rooms'、$Rooms),
新的下拉字段('Transport','Transport Option',$Transport),
新下拉字段('TransportSelfDrive','If self drive select grade',$TransportSelfDrive),
新文本字段('FlightArrival','FlightArrival Details'),
新文本字段(“航班起飞”,“航班起飞详细信息”),
新的DropdownField('LengthOfStay'、'LengthOfStay'、$LengthOfStay),
新建TextareaField(“注释”),
**新的RecaptchaField('MyCaptcha')**
);
我补充说
$dataFieldByName(MyCaptcha)
到BookingForm.ss
$message
游览
$dataFieldByName(教程)
名字
$dataFieldByName(名字)
姓
$dataFieldByName(姓氏)
电子邮件
$dataFieldByName(电子邮件地址)
停留时间
$dataFieldByName(LengthOfStay)
成人人数
$dataFieldByName(人员)
住宿
类型
$dataFieldByName(住宿)
房间数
$dataFieldByName(房间)
房间要求
$dataFieldByName(RoomConfig)
运输
类型
$dataFieldByName(传输)
如果自动驾驶,选择坡度
$dataFieldByName(TransportSelfDrive)
输入您希望包括的任何观光或活动
$dataFieldByName(观光)
观光
航班抵达详情
$dataFieldByName(FlightArrival)
航班起飞详情
$dataFieldByName(航班起飞)
**
$dataFieldByName(MyCaptcha)
**
额外信息
$dataFieldByName(注释)
$dataFieldByName(SecurityID)
非常感谢
问候
萨姆
当验证码信息未填写时,强制信息“请回答验证码问题”不会仅显示在我的一张表格上
你的意思是它根本没有显示,还是它显示了多次
我的模板如下所示(包括CSS网格等)-其中应显示错误消息:
<div class="push_2 grid_15 formbackground">
<div class="grid_4">
<label for="recaptcha_response_field" class="right">Captcha*<br/><span>Bitte die Zeichen der Grafik in das Feld eingeben</span></label>
</div>
<div class="grid_9">
$dataFieldByName(MyCaptcha)
<span class="message $dataFieldByName(MyCaptcha).MessageType">$dataFieldByName(MyCaptcha).Message</span>
</div>
</div>
验证码*
在das Feld eingeben的Grafik中
$dataFieldByName(MyCaptcha)
$dataFieldByName(MyCaptcha)。消息
这有用吗
当验证码信息未填写时,强制信息“请回答验证码问题”不会仅显示在我的一张表格上
你的意思是它根本没有显示,还是它显示了多次
我的模板如下所示(包括CSS网格等)-其中应显示错误消息:
<div class="push_2 grid_15 formbackground">
<div class="grid_4">
<label for="recaptcha_response_field" class="right">Captcha*<br/><span>Bitte die Zeichen der Grafik in das Feld eingeben</span></label>
</div>
<div class="grid_9">
$dataFieldByName(MyCaptcha)
<span class="message $dataFieldByName(MyCaptcha).MessageType">$dataFieldByName(MyCaptcha).Message</span>
</div>
</div>
验证码*
在das Feld eingeben的Grafik中
$dataFieldByName(MyCaptcha)
$dataFieldByName(MyCaptcha)。消息
那有帮助吗?嘿。只是出于兴趣-你有没有看过《夺回》模块:我已经成功地在2.4中使用了它。嗨,Shane,是的,我看过了。看来Xera的答案是有效的,我需要看一下表格。谢谢你的建议。干杯,谢伊。只是出于兴趣-你有没有看过《夺回》模块:我已经成功地在2.4中使用了它。嗨,Shane,是的,我看过了。看来Xera的答案是有效的,我需要看一下表格。谢谢你的建议。“干杯,SHi Xeraa,”我按照您在bookingform.ss中的建议补充道,“它现在似乎起作用了。”。非常感谢你的帮助。干杯,S:)嗨,Xeraa,我按照你在bookingform.ss中的建议加了一句,它现在似乎起作用了。非常感谢你的帮助。干杯,S:)