Samkelo Siyabonga Ngubo Ответов: 1

Как проверить загрузку файлов с помощью меток без использования ASP.NET валидаторы или VB.NET ящики для сообщений?


Проблема с этим кодом заключается в том, что он проверяет, но не останавливает страницу для продолжения обновления

Что я уже пробовал:

dataFile = Server.MapPath("~/Documents/ids/" & memberno & ".pdf")

          If File.Exists(dataFile) Then
          Else

              txtfileuploaderror2.Text = "ID document is a required field"
              txtfileuploaderror2.Focus()
          End If



          dataFile2 = Server.MapPath("~/Documents/MeansTests/" & memberno & ".pdf")
          If File.Exists(dataFile2) Then
          Else
              txtfileuploaderror4.Text = "Means Test is a required field"

              txtfileuploaderror4.Focus()

          End If



          dataFile3 = Server.MapPath("~/Documents/Contracts/" & memberno & ".pdf")
          If File.Exists(dataFile3) Then
          Else
              txtfileuploaderror3.Text = "Copy of Contract is a required field"

              txtfileuploaderror3.Focus()
              'Exit Sub
          End If

[no name]

Был ли где-то вопрос, который вы забыли задать?

CHill60

Потому что вы закомментировали единственную выходную субмарину.

F-ES Sitecore

Наличие проверки только на сервере, когда у вас есть элементы управления загрузкой файлов, будет раздражать конечного пользователя, так как браузер не может запомнить их состояние, как текстовые поля и т. д., поэтому пользователю придется каждый раз заново выбирать все свои файлы. В дополнение к проверке вашего сервера вы также должны внедрить клиентскую проверку полей. Если вы загуглите, как проверить загрузку файла conrtol с помощью javascript, вы найдете примеры того, что вы можете сделать. Проверка выбора файла и проверка расширения файла перед отправкой формы возможны одновременно.

1 Ответов

Рейтинг:
1

CHill60

Вы ничего не делаете с информацией о том, что есть недостающие данные. Вы могли бы сделать это вот так.

dataFile = Server.MapPath("~/Documents/ids/" & memberno & ".pdf")
dataFile2 = Server.MapPath("~/Documents/MeansTests/" & memberno & ".pdf")
dataFile3 = Server.MapPath("~/Documents/Contracts/" & memberno & ".pdf")

If Not File.Exists(dataFile) Then
    txtfileuploaderror2.Text = "ID document is a required field"
    txtfileuploaderror2.Focus()
    Exit Sub
End If

If Not File.Exists(dataFile2) Then
    txtfileuploaderror4.Text = "Means Test is a required field"
    txtfileuploaderror4.Focus()
    Exit Sub
End If

If Not File.Exists(dataFile3) Then
    txtfileuploaderror3.Text = "Copy of Contract is a required field"
    txtfileuploaderror3.Focus()
    Exit Sub
End If

Rest of update code


Но если есть более чем одна проблема, вы действительно должны сообщить пользователю обо всех них как можно скорее, например
dataFile = Server.MapPath("~/Documents/ids/" & memberno & ".pdf")
dataFile2 = Server.MapPath("~/Documents/MeansTests/" & memberno & ".pdf")
dataFile3 = Server.MapPath("~/Documents/Contracts/" & memberno & ".pdf")

Dim ok As Boolean = True

If Not File.Exists(dataFile) Then
    txtfileuploaderror2.Text = "ID document is a required field"
    txtfileuploaderror2.Focus()
    ok = False
End If

If Not File.Exists(dataFile2) Then
    txtfileuploaderror4.Text = "Means Test is a required field"
    txtfileuploaderror4.Focus()
    ok = False
End If

If Not File.Exists(dataFile3) Then
    txtfileuploaderror3.Text = "Copy of Contract is a required field"
    txtfileuploaderror3.Focus()
    ok = False
End If

If Not ok Then
    Exit Sub
End If

'Rest of update code


Samkelo Siyabonga Ngubo

Спасибо вам это очень помогает