Для синхронизированного файла p4 have
является каноническим / простейшим способом определения локального пути по заданному пути депо. p4 fstat
также будет работать.
Для файла, который еще не был синхронизирован, p4 have
ничего не вернет, но p4 where
покажет вам, где сопоставлен любой заданный путь.
Для случаев, когда файл был синхронизирован, но с тех пор отображение изменилось, p4 have
и p4 where
покажут вам две разные вещи (have
показывает путь, по которому у вас есть файл в настоящее время, where
показывает куда он пойдет при следующей синхронизации).
Нет необходимости вручную вызывать функцию Page_ClientValidate
, если только вы не хотите выполнять проверку вне попытки обратной передачи.
Установите кнопки Причины проверки на true
. Это запустит проверку.
Удалите событие нажатия кнопки, которое, по-моему, вызывает повторную проверку.
удалить событие onclientclick кнопки, в этом нет необходимости
Эй, там. Поэтому из всего, что вы должны потерять валидационную группу = «контактную группу» из кнопки, потому что наличие валидационной группы в нем сначала позвонит проверку на странице, то событие OnClientClick, которое содержит проверку Validate Функция, которая снова будет вызывать проверку страницы.
Затем вы должны пройти функцию Validation Group «ContactGroup» на функцию Page_ClientValidate (), чтобы она знала, какие элементы управления для проверки, потому что просто вызывая страница_clientValidate () будет проверять все элементы управления независимо от их группы валидации (и это может отобразить сообщение о проверке Один раз, в зависимости от того, сколько у вас есть валидационные группы).
Короче говорят что-то подобное:
function validate() //javascript function
{
if (typeof(Page_ClientValidate) == 'function')
{
var isPageValid = Page_ClientValidate('ContactGroup');
if(isPageValid)
{
//your custom code
}
}
}
<asp:textbox id="txtMyBox" runat="server"/>
<asp:requiredFieldValidator Id="rfv1" runat="server" ControlToValidate="txtMyBox"
ValidationGroup="ContactGroup" ErrorMessage="Bad!"/>
<asp:Button ID="btn1" runat="server" OnClientClick="validate()" Text="button"/>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List"
ShowMessageBox="true" ShowSummary="false" ValidationGroup="ContactGroup" />
Просто верните ложь от функции и измените onclientClick, как показано ниже:
<asp:Button ID="btn1" runat="server" OnClientClick="return validate();" Text="button"
ValidationGroup="ContactGroup" />
function validate() //javascript function
{
if (typeof(Page_ClientValidate) == 'function')
{
var isPageValid = Page_ClientValidate();
if(isPageValid)
{
}
}
return false;
}
Проблема в том, что функция Page_ClientValidate принимает входной параметр, если вы не указываете входной параметр, то validationsummary срабатывает один раз на имя группы.
В вашем случае функция срабатывает дважды: один раз для имени группы="ContactGroup" и другой раз для имени группы=""
вам следует изменить
var isPageValid = Page_ClientValidate();
на
var isPageValid = Page_ClientValidate('');
если вы не хотите указывать ValidationGroup, или если вы хотите указать имя группы, тогда вам нужно вызвать Page_ClientValidate следующим образом:
var isPageValid = Page_ClientValidate('ContactGroup');