user 3008 Ответов: 1

Удалите пробелы или обрежьте строку, введенную в мое текстовое поле


Я хотел бы обрезать строку или удалить пробелы для строки, введенной в мое поле textboxfor под названием "VAREmail" в mvc. Используемый html-код

<div class="detailsRow">
           <div class="detailsLabel">
               @Html.LabelFor(m => m.VarEmail, Strings.VarEmail)
           </div>
               @Html.TextBoxFor(m => m.VarEmail, new { style = "width:50%" })
               @Html.ValidationMessageFor(m => m.VarEmail)

       </div>


Код контроллера срабатывает при нажатии одной и той же кнопки

[HttpPost]
       public ActionResult Edit(Supplier supplier)
       {

           if (!ModelState.IsValid)
           {
               supplier = GetSupplier(supplier.SsoId);

               return View("Edit", supplier);
           }

           ReviewerDto dto = googleReviewService.GetReviewerBySsoId(supplier.SsoId);

           dto.GoogleReviewEmail = supplier.EmailAddress;
           dto.MorpheusId = supplier.MorpheusId;
           dto.VarEmail = supplier.VarEmail;
           dto.SesameEmail = supplier.SesameEmail;
           dto.SesameFirstName = supplier.SesameFirstName;
           dto.SesamePassword = supplier.SesamePassword;
           dto.VettedReviewer = supplier.VettedReviewer;

           googleReviewService.UpdateReviewer(dto);

           supplier
               .ReviewerRates
               .ToList()
               .ForEach(rr => googleReviewService.SetReviewerRateActiveStatus(supplier.SsoId, rr.RateId, rr.Active));

           return RedirectToAction("List");
       }


модель, используемая с некоторым регулярным выражением для проверки, такова

[StringLength(50)]
      [RegularExpression(@"^(?i)[A-Z0-9._%+-]+@[A-Z0-9]+.com", ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "ReviewerEditModel_InvalidEmailEntered")]
      [Display(ResourceType = typeof(Strings), Name = "VarEmail")]
      public string VarEmail { get; set; }


кто-нибудь может пожалуйста, помогите мне исправить эту ошибку.

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

попробовал использовать trim() как в представлении, так и в контроллере

Karthik_Mahalingam

покажите линию, где вы используете обрезку()

user 3008

ВПД.VarEmail = поставщик.VarEmail.отделка();
а также

@Html. TextBoxFor(m => m.VarEmail, Model.VarEmail. Trim (), new { style = " width:50%" })

Karthik_Mahalingam

проверили ли вы значение, поместив точку останова на этой линии ?

user 3008

да пробовал но это не обрезка

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, иначе пользователь не получит уведомления.

Karthik_Mahalingam

вы проверили это значение в базе данных ?
после этого значения

phil.o

Удаление пробелов и обрезка-это не совсем одни и те же операции : первая должна удалять все пробелы из строки, в то время как вторая имеет дело только с начальными и конечными пробелами. Поэтому, прежде всего, вы должны четко определить, что именно вы хотите.

1 Ответов

Рейтинг:
2

Member 7870345

По моему мнению в посте контроллера вы должны добавить строку:

supplier.VarEmail=supplier.VarEmail.Trim();

перед
if (!ModelState.IsValid)
{
    supplier = GetSupplier(supplier.SsoId);

    return View("Edit", supplier);
}