Вопрос

Есть эта классная новая функция в SP 2010, где вы можете указать пользовательскую формулу проверки и сообщение об ошибке для любого столбца.

По какой-то причине он не работает, когда вы заменяете по умолчанию Newform.aspx для списка с пользовательской формой, используя FarePoint Designer's «Создать новый список формы -> формы нового элемента». Он создает ASPX, в котором он ставит элемент управления Formfield для каждого поля выбранного типа содержимого вместо ListFormWart, который итерации и образуют каждое поле без полей, явно упомянутых на странице.

Код для каждого поля на просто созданную пользовательскую форму аналогичен следующему (просто иллюстрировать)

<tr>
  <td width="190px" valign="top" class="ms-formlabel">
    <H3 class="ms-standardheader">
    <nobr>PhoneNumber</nobr></H3>
  </td>
  <td width="400px" valign="top" class="ms-formbody">
    <SharePoint:FormField runat="server" id="ff4{$Pos}" ControlMode="New" FieldName="PhoneNumber" __designer:bind="{ddwrt:DataBind('i',concat('ff4',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@PhoneNumber')}"/>
    <SharePoint:FieldDescription runat="server" id="ff4description{$Pos}" FieldName="PhoneNumber" ControlMode="New"/>
  </td>
</tr>
.

Проблема в том, что с «созданием нового списка формы -> новая форма элемента» образуют проверку формулы (New SharePoint 2010), не работают: он передает проверку в форме только в состоянии сохранения в результате Страница ошибок.

Это каким-либо образом настроен на конфигурацию с элементом управления Formfield или могу ли я в любом другом способе взять на себя обеспечение этого нового механизма проверки SP2010 при использовании страниц пользовательских (без листовых форматов) или я должен писать пользовательские GUI Валидация в этом случае?

Спасибо!

Это было полезно?

Решение

Проблема не с самого элемента управления Formfield, но с веб-частью DataFormWormward I использовал эти поля. Есть 2 вопроса:

  1. с неосведомленностью. Поле бросает исключение, которое должно быть правильно обрабатывается веб-сайтом, показывающим сообщение о том, что элемент с таким значением поля уже существует.Но dataformwebpart не обрабатывает это исключение, а listformward по умолчанию делает.Это похоже с пользовательской формулой валидации.
  2. Регистрация поля SharePoint Реализуйте интерфейс iValidator, чтобы веб-сайт Ivalidator может их проверить и отображать соответствующие сообщения (например, для необходимых полей поиска), но файл DataFormWebPart не делает этого (IS ListFormWebPart)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top